Talk:Database normalization/Archive 2

message: I'm not really an expert on the subject but from my understanding, I suspect there's an error in the BCNF section. There's an example provided in the BCNF section that is as follows...
BEGIN QUOTE
Example of a relation that is in 3NF form but not in BCNF:
Relation: {A,B,C,D} AB is a candidate key, BC is candidate key and A->C.
END QUOTE
For a relation to be in 3NF, it has to satisfy the conditions of 2NF too, and therefore 1NF.
In this example, AB is a candidate key, and A->C so there's partial dependency if that is chosen as the PK. BC is a candidate key, and C->A (since A->C) so there's partial dependency if that becomes the PK. Doesn't that violate the conditions for 2NF, and therefore the 3NF?
K nitin r 06:55, 10 July 2006 (UTC)
thread_title:  Is that really 3NF? 

message: ...and I've been working with relational databases for years. I wonder why.
:Could you be a little more specific? Remember, we are always seeking to improve the article, so if you could do a little thinking: what was hard to understand? — Ambush Commander(Talk) 03:15, 14 November 2005 (UTC)
replies: text: I didn't really understand anything either. Now, I don't know much about databases at all, so maybe that's the reason. Honestly, I never understood the whole point of databases at all. People say normalization is one important reason for using databases, but this page didn't enlighten me much. --Apoc2400 02:47, 21 July 2006 (UTC)
thread_title:  I find this page very hard to understand... 

message: Look at the examples given on this page:
http://www.troubleshooters.com/littstip/ltnorm.html
Look at the examples, not the text.  They are coherent.  There are no examples of non-normalized within the normalized forms.  Only one example per form.  What do you think?  I say do it.
=== Examples lacking/biased ===
I work with multi-valued databases (OpenQM, QM, uniVerse, UniDATA, mvBase, mvEnterprise, jBase, D3, etc.) and these examples are not good examples of how something as simple as an invoice would be organized. It looks like they were put together by some that doesn't use non-1st-normal forms, or has a Codd-like bias against them.
This is the first time I've encountered an article in Wikipedia that I can help fine-tune, so I'm really not sure of the best way to provide feedback, etc.
74.135.100.106 15:50, 7 February 2007 (UTC)
thread_title:  How about this? 

message: I work with multi-valued databases (OpenQM, QM, uniVerse, UniDATA, mvBase, mvEnterprise, jBase, D3, etc.) and these examples are not good examples of how something as simple as an invoice would be organized. It looks like they were put together by some that doesn't use non-1st-normal forms, or has a Codd-like bias against them.
This is the first time I've encountered an article in Wikipedia that I can help fine-tune, so I'm really not sure of the best way to provide feedback, etc.
74.135.100.106 15:50, 7 February 2007 (UTC)
thread_title:  Examples lacking/biased 

message: The manner in which tables are specified in this article number at about three. This is unacceptable. We should adopt a standard style for all tables in this article, and then switch them all to it. Although, as a developer, I would prefer working with SQL-style table definitions, I recognize that real tables with fake data help demonstrate the relationships better. In that case, would we use class="wikitable" to format those tables? Just throwing out some ideas. — Ambush Commander(Talk) 01:31, 8 January 2006 (UTC)
replies: text: I have added cleanup to this article for this very reason. More discussion please! :-) — Ambush Commander(Talk) 21:55, 24 January 2006 (UTC)
replies: text: Gonna be bold. — Edward Z. Yang(Talk) 01:02, 14 April 2006 (UTC)
thread_title:  Style guide for this article 

message: Kate knowing Classical Guitar and Jazz Violin does not imply in any way that Kate knows Jazz Guitar or Classical Violin. Somebody who understands this stuff better, please clean this up :)
-- Vstarre 17:46, 7 March 2006 (UTC)
thread_title:  5NF is a bad example 

message: Minimal Cover should be in mentioned    --Tim 17:45, 14 March 2006 (UTC)
replies: text: Agreed, but if we go into minimal cover, then we need to cover F and X closures.  No pun intended.  Railgun 18:05, 14 March 2006 (UTC)
replies: text: The canonical (minimal) cover is not even mentioned in the functional dependency page, nor are closures. They would have to be elaborated there first. And because closures play a big role from BNCF and onward, it would make sense to explain them here as well. Then again, this is another reason to split the article because not all normal forms work with functional dependencies.--Citral 21:56, 14 August 2006 (UTC)
thread_title: Minimal Cover

message: Is it possible to put a practical/real example to understand BCNF? Bcos I'm finding it little difficult to understand this with just ABCDs! Many thanks for whoever does this.
:I agree!  The presentation lapses into shorthand that no-one besides an expert is likely to understand.   I am, however, curious; is this the relational algebra of which one hears but almost never sees?
::In its earliest form, this article was completely mathematically oriented, an example: http://en.wikipedia.org/w/index.php?title=Database_normalization&oldid=8906405 I really couldn't tell you. — Edward Z. Yang(Talk) 21:20, 4 June 2006 (UTC)
replies: text: An example has now been provided.  --Nabav 14:14, 15 August 2006 (UTC)
thread_title:  BCNF needs good example 

message: The Fourth Normal form is described as being similar to the third normal form following the removal of multi-valued dependancies, which are not defined or explained at all.
: I'm fixing that with the creation of the multivalued dependency page. Cheers, --Citral 12:22, 11 August 2006 (UTC)
thread_title: No definition of multi-valued dependancies

message: Anyone know why this article has an "expert" tag on it? What was specifically in need of review? -- Mikeblas 15:01, 6 June 2006 (UTC)
replies: text: While normal forms one through three are fairly sufficient for most needs, the examples for 4NF and 5NF are horrendous. That's primarily the reason. — Edward Z. Yang(Talk) 19:35, 6 June 2006 (UTC)
thread_title:  expert? 

message: I've used the phrase "poorly normalized" as a way of characterizing all kinds of things (the duplication of content between wikipedia articles, for example).  This article seems to be talking specifically about the relational model.  This article spends its time talking about the formal characteristization of redundancy in relational databases.  Do other database forms speak of "normalization"? 
In any case, someone made a stub for "redundancy (database)" which I redirected here.  That's based on the belief that there isn't enough to talk about on the subject of redundancy that isn't taken care of here or in the general definition of the term.  Metaeducation 03:56, 25 October 2005 (UTC)
thread_title:  Normalization: not just for relational databases...or is it? 

message: In this edit I removed:
:—especially in systems that do not use the relational model (such as OLAP).
How can a system be normalized if it is not relational? Does this mean that non-relational systems (like OLAP) are denormalized to the extreme? For now, it has been removed: the abstract notion of the desirability of denormalization is good enough, methinks. — Ambush Commander(Talk) 21:52, 24 January 2006 (UTC)
replies: text: Long prior to the acceptance of RDBMSs we in Data Processing (as it was called then) used normalization for various kinds of databases and even non-database systems.  I, myself, have used normalization for two kinds of CODASYL databases as well as for two kinds of Hierarchical databases.  Normalization is a discipline for organizing data of any kind.  It does not have to be implemented into an RDBMS to be normalized. KeyStroke 17:54, 28 February 2006 (UTC)
thread_title:  If it is not relational how can it be normalized? 

message: I'm revising for my exams on databases at the moment... and I'm sure that 2NF and 3NF are identical in this article - not the same as in my book... or am I just reading it all wrong?
Paul 14:16, 17 June 2006 (UTC)
thread_title:  2nd / 3rd NF 

message: I am in favour of splitting each of the normal forms into a separate article.  I think the separate articles should contain all the specifics and formal definitions, and we can maintain a pithy, abstract summary about each here.  Any detractors?  — Direvus 19:06, 6 August 2006 (UTC)
thread_title:  Split the article 

message: The Databases template is a bit big, and looks like overkill for the separate articles for 1NF, 2NF etc. How about we keep that template on the main article, but introduce a new one for the split articles, looking something like this:
Topics in Database normalization
First normal form | Second normal form | Third normal formBoyce-Codd normal form | Fourth normal form | Fifth normal form | Sixth normal form
Also a category called 'Database normalization' (probably a subcategory of the Database constraints category), to link them all together. --VinceBowdren 12:13, 16 August 2006 (UTC)
replies: text: Done, see Template:Database normalization. I made the category a subcategory of the Databases category in the end, seemed more appropriate there. --VinceBowdren 19:07, 21 August 2006 (UTC)
thread_title:  Template and category for split articles 

message: Just happened across a separate article about Denormalization. I've now linked to it from here, so now we should get on with replacing the long description of denormalization here with a potted summary, and expanding the separate article. --VinceBowdren 18:57, 21 August 2006 (UTC)
thread_title:  Denormalization 

message: Just came across this . I haven't yet edited any of the articles as a result, so I'm just linking it here for now. --VinceBowdren 08:43, 22 August 2006 (UTC)
thread_title:  Useful references 

message: I changed the beginning bit from:
==Description=smita
to
==Description== --Wakimakirolls 20:13, 14 October 2006 (UTC)
thread_title:  minor edit 

message: 5NF seems to be defined in terms of join dependencies, which we don't have a definition of yet. --VinceBowdren 10:19, 15 August 2006 (UTC)
thread_title:  No defn of join dependencies 

message: In the summaries (on the page for which this is the discussion) and main articles on normal forms, there is frequent reference to the primary key. I think this is too restrictive and also confusing.
As an example, the summary of second normal form refers to a composite key then later in the sentence refers to the composite key, leaving it unclear whether second normal form requires that, should a relation have more than one composite key, its constraints are required to be satisfied for all of them or whether satisfying it for just one will do.
Also, the main article for second normal form almost immediately and exclusivey refers to the primary key, suggesting that second normal form is only interested in either (a) relations with a single composite key, or (b) relations with more than one composite key, but where one has already been chosen as 'primary'.
It is my understanding, which I need to recover my copy of TTM in order to confirm or correct, that if a relation is in first normal form, it may have several keys, some of which may be composite. In order for the relation to be in second normal form, the constraints of second normal form must hold for every composite key. The same is true for higher normal forms.
The use of primary key is generally confusing actually, as its meaning has changed since Codd used it in 1970; it appears that when Codd used the term primary key, he was referring to any non-redundant combination of a relation's domains that uniquely identifies tuples in the relation and that it was possible for there to be more than one such combination. Each of these combinations can be referred to as a primary key, once of which might be selected and referred to as the primary key. Hence the use of the indefinite or definite article becomes all important - far too subtle.
Lancewalton 16:27, 26 December 2006 (UTC)
thread_title:  References to 'the primary key' should refer to 'candidate keys' or 'a primary key' 

message: There was a request to add more context. I took a stab at it.  It needs to be edited to flow a little better now. Wilsondavidc 00:12, 11 January 2007 (UTC)
thread_title:  Added more context to the introduction