0

Q - looking for examples/tutorial of 5NF/or 6NF, pref for custom user fields, details below

While doing some research on adding custom user fields like in outlook and the pro/cons of various approaches, came across using the 6NF at

How to store custom user fields in database

and

What are the [dis]advantages of using a key/value table over nullable columns or separate tables?

quite frankly the theory went over my head so looking for any examples/tutorial of 6NF, pref for custom user fields or any insight into how its done in outlook

Community
  • 1
  • 1
Kumar
  • 10,997
  • 13
  • 84
  • 134
  • Are you sure you don't mean 4NF? – Babak Naffas Mar 15 '12 at 20:26
  • What has EAV got to do with 6NF? Please explain which of the two you are asking about? – Oded Mar 15 '12 at 20:27
  • @BabakNaffas per the quoted links it is 6NF – Kumar Mar 15 '12 at 20:29
  • @Oded custom user fields can be done via EAV or 6NF per the quoted links, looking for help on 6NF here – Kumar Mar 15 '12 at 20:30
  • You don't quite explain _what kind of help_ you need. What _exactly_ are you struggling with? We can't provide "insight" if you don't explain where you are stuck. – Oded Mar 15 '12 at 20:32
  • @onedaywhen i was essentially looking on pros/cons of EAV vs 6NF, while EAV is rather easily understood, 6NF went over my head so looking for samples if any pref related to custom user fields. The problem i am facing is how to "pivot" the EAV to display in a "normal" table and still be performant without spending extra efforts thereon – Kumar Mar 16 '12 at 13:41
  • @onedaywhen i did not know about that user's timed suspension, where do you see that ? – Kumar Mar 16 '12 at 14:10
  • I don't think suspensions show in someone's account after their sentence has been spent, which is how it should be I suppose. On reflection, my earlier comment was inappropriate so I've deleted it. – onedaywhen Mar 16 '12 at 14:41
  • It seems to me that subject 'custom user fields in 6NF' is quite narrow. May I ask, why not 'custom user fields in 5NF'? – onedaywhen Mar 16 '12 at 14:43
  • @onedaywhen you are right about the narrow focus, i was essentially looking for a non EAV method, found those articles which piqued my interest ! any suggestions on a 5NF for custom fields ? will change the title. – Kumar Mar 16 '12 at 16:59

1 Answers1

1

The answer that mentions 6NF in relation to custom fields is a red herring. There is no possible way of modelling 6NF in SharePoint lists or outlook metadata.

The SharePoint developer/administrator does not have much control over the resulting queries (list views) that the interface provides, specifically there is no way to provide more than one field from Lookup columns. This limits choices to a very pragmatic approach rather than one following any strict Normal Form.

For my money, make sure you understand 3NF and it's benefits so that you know what trade-offs you are making when the limitations of SharePoint require a different approach. After all, lists are not mean to be subsitutes for database tables.

(Note that SharePoint forces you into an Entity Attribute Value model, with the ability to put a little bit of fancy data entry controls over the top, so you don't have to decide what data model to use, all focus should be on getting the best user interface from what you are given)

Nat
  • 14,175
  • 5
  • 41
  • 64
  • apologies did not mean to imply sharepoint uses 6NF, just that it allows you to create and use lists – Kumar Mar 15 '12 at 21:15
  • yeah, pretty much just ignore 6NF when it comes to custom fields in stuff like outlook, the theory is not much use and no one uses it in practice. – Nat Mar 15 '12 at 23:14
  • so you're proposing that EAV is the way to go? then what would be the ideal way to retrieve the custom fields values for display in a grid/table like in say outlook ? – Kumar Mar 16 '12 at 09:30
  • No, I am saying that theory is going to get you nowhere. Just do what needs to be done. You have not provided enough information on what you are actually planning on doing to provide any more advice than that. i.e. your question mentions nothing about a grid/table. – Nat Mar 17 '12 at 23:11