Can someone explain to me why it is that zipcodes should not be placed in Boyce Codd Normal Form? Is there really any more to it other than that zipcodes are unlikely to change in any foreseeable point in time?
Why should zipcode values not be placed in Boyce Codd Normal Form?
788 views Asked by Analytic Lunatic At
3
There are 3 answers
5
Robert Harvey
On
You should only place zip codes in 3NF or BCNF if your intention is to lookup other information based on them (such as locale). In that context, a zip code becomes a "natural key."
Absent that context, there doesn't seem to be much point. In most applications, a zip code is merely treated as a bit of text, and doesn't have any contextual meaning otherwise.
0
nvogel
On
Zipcode is an attribute whereas BCNF is a property satisfied by a relation or set of relations. As a general rule, aim to be in at least BCNF unless and until you have a good reason to deviate from that. On that basis I'd suggest that relations with a zipcode attribute ought to be in BCNF. What makes you think otherwise?
Related Questions in DATABASE
- How to add the dynamic new rows from my registration form in my database?
- How to store a date/time in sqlite (or something similar to a date)
- Problem with add new attribute in table with BOTO3 on python
- When an E-R attribute should be perceived as a relationship attribute or as an entity set attribute?
- SQLAlchemy: efficient relationship loading in 3-way many-to-many relationship
- Cannot connect to Postgres Database when running Quarkus Tests with Gitlab ci
- Local or remote database with react-native?
- I want to edit a specific row in database
- How to enter data in mongodb array at specific position such that if there is only 2 data in array and I want to insert at 5, then rest data is null
- Open Web Library
- database login.py and register.py error showing 404 file not found and doesn't work
- SQL71561: SqlComputedColumn: When column selected
- Liquibase as SaaS To Configure Multiple Database as Dynamic
- Updated max input vars but table still shows error
- Spring does not map set of roles
Related Questions in DATABASE-DESIGN
- SQL schema for a fill-in-the-blank exercise
- When an E-R attribute should be perceived as a relationship attribute or as an entity set attribute?
- steps to create a web app with backend and database and web
- Use data type uuid or varchar(36) for my UUID column?
- Containing Object Design
- Many-to-many relationship between objects of the same type
- When hashing an API key, should I hash the suffix / prefix as well?
- Database design, authentication and authorization in a microservices ticketing system
- Unique index on 3 columns where NULL conflicts with all other values in one column
- Can i create a table with 2 foreign keys? These 2 foreign keys are 2 primary keys of 2 different tables
- I have a basic ms access question about a relationship between 3 tables
- how can i calculate mutual friends/followers efficiently?
- Access Table ,setting in design ,column 'Catagory' as Combobox in lookup with list "Action";"War";"Drama". in vb.net DGV and Detail how to multiselct
- Table Design for Calculating Median Over User-Defined Period from Pre-Processed Data
- Use conditional constraint or normalize table?
Related Questions in NORMALIZATION
- Threshold scaling along a straight line
- How to Normalize a function in python?
- Feature Scaling with MinMaxScaler()
- Min-max scaling on DCT coefficients
- Swift Image preprocessing: normalization with mean [0.485, 0.456, 0.405] std [0.229, 0.224, 0.225]
- Divide two signal stream using GNU Radio but no result appear
- Why does the Min-Max normalization produces inaccurate results when used in dtype='<i2' in python
- Should I turn my skewed data into a normal distributed data before using MinMaxScaler or StandardScaler?
- How to get the message being passed in torch geometric?
- Data Normalisation in transformation then Batch Normalisation in ResNet50 pytorch
- Finding standard deviation and mean for Normalize function from torchvision
- Can't normalize my custom index to start at 0% y-intercept
- the prediction results are so far from the original data that the new information cannot be used, is there something wrong?
- Normalizing the numerical values
- Min-Max Normalization by group across multiple columns
Related Questions in DATABASE-NORMALIZATION
- How do i normalize the given entities in the database ER diagram. And also shouldn't normalization be done before making the ER diagram?
- normalize table up to BCNF?
- attribute partially depends on a candidate key but the answer says the relation is in 3NF
- How can I move past this 2NF to achieve a proper normalization of the table up to 3NF
- Normalize a many-to-many table
- Is it possible to have a decomposed table to be the same as original one? BCNF Conversion
- Is it really better to respect the normal forms and create an additional table for one simple field?
- Normalize a table with a non-prime attribute and a multivalued dependency within the candidate key to 4NF
- Does it violate any normalization rules if I add a boolean column to a db table?
- Pros and Cons of Constraints across Many-To-Many relationship
- Making (3) composite primary key less redundant
- Dependency-Preserving Decomposition
- Database Normalization BCNF decomposition
- How does this relation produce candidate keys?
- Database normalization for 1 to many, many to many, many to 1
Related Questions in DENORMALIZATION
- Dynamic mapping arbitrary delimited files to single Json structure in ADF
- How to properly index by (UNIX) day (epochDay) a denornmalized database
- How to denormalize a DateTime-Array to DateTime-Object with Symfony Serializer
- How best to Denormalize a SQL schema into a noSQL (Elasticsearch) mapping
- How do I model data containing movie titles to retrieve a list of movies by genre?
- How should I store nested JSON object inside Cassandra?
- Is denormalization more useful in big query?
- What am I doing wrong with this query
- Error with Symfony Serializer can't normalize int to float
- Surrogate keys in star schema hierarchy dimension
- How to filter multiple fields from Firestore - React JS - Thinking of denormalization
- MySQL select value range within a value range, from a dash-separated column value?
- Denormalize column
- Normalize and de-normalizing data in prediction model
- Should a counter column with frequent update be stored in a separate table?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Assuming you are talking about 2NF, not the minor difference between 3NF and BCNF, (cause zipcodes don't seem to be relevant to BCNF), then:
Yes, that, and the fact that it is unnecessarily obtuse, saves only one byte of storage, (zipcodes are five chars and can be stored in 5 bytes, an integer Foreign Key is 4 bytes), and requires an additional join to retrieve the value.