jimmyoneshot Posted May 18, 2010 Share Posted May 18, 2010 I've now completed my database and am pretty sure it's now in third normal form but now I'm basically wondering how does one exactly document normalization to show how the process has been completed? This may seem like I've done it the wrong way around but I simply created my database in 3NF pretty simply and quickly but I now need to show how I've done this somehow. What is the general way to show this, documentation wise? i.e if an erd shows entity relationships what sort of diagram/document is used to outline the normalization process? Here's my already produced erd if that has any relevance:- http://i223.photobucket.com/albums/dd147/jimmyoneshot/erdpic.jpg Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/ Share on other sites More sharing options...
ignace Posted May 18, 2010 Share Posted May 18, 2010 documenting is easy. Just put all values back in to one table (NF0) and then start to separate again, create relations and explain your steps. Until you reach the NF3 you currently have. Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060006 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Cheers ignace. I've just found a couple of your posts on the subject actually where you helped somebody else out on normalization. You know your stuff. So I basically take ALL of my field names that I currently have and put them as field names in one big huge table for NF0 and then seperate them out into tables and link tables etc for NF1 2 and 3? What I don't understand is when people say I should put all of the values in there because the values themselves are dynamic i.e. new values can be added, values can be removed and also updated. Does this mean that I should just put a few dummy test values in the NF0 table to show what type of values go into each field? What confuses me is what takes place between each NF in regards to my database i.e. as regards to my db what would take place between NF0 and NF1 and NF1 and NF2 and NF2 and NF3? I mean what exactly would be removed/added in during each of these transactions? Is adding a join/link table (which my userlinks table is) a step of third normal form or second normal form? Sorry it's just all a bit mind boggling to me and when it's explained it's usually never explained in Layman's terms. Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060014 Share on other sites More sharing options...
ignace Posted May 18, 2010 Share Posted May 18, 2010 Does this mean that I should just put a few dummy test values in the NF0 table to show what type of values go into each field? database normalization is database independent and therefor you should not mention or write the field types only field names. After you are satisfied with the database design you can think of the database('s) you wish to support and think of the best field types according to your chosen database('s) and your application. Just like in software design you first start to identify your components, and their underlying relations in a domain-model, and afterwards you would create a class diagram which specifies the types of each field. The best would be to find a good book that describes the complete normalization process as described by Codd as Codd specified a few rules you need to adhere to, to create a fully normalized database design. You know your stuff. Thank you. This means much to me knowing that my work is appreciated Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060019 Share on other sites More sharing options...
Mchl Posted May 18, 2010 Share Posted May 18, 2010 If you did not do actual normalisation, do not document it. Instead document the fact, that your tables conform to definitions of normal forms 1 to 3. Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060027 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Yep but the thing is it's for a university project and I'm thinking of each system diagram/document as an extra mark so although I may not have actually done it I want to say that I've done it if that makes sense It's just actually showing it in a tangible format as regards to my database that I'm struggling with doing. The problem with a lot of modelling seems to be that on the internet there are so many different ways people utilize to do the same thing. Thanks for your advice too ignace. While we are on the subject of moddeling I wonder if I could ask you guys a couple of questions about other things I'm trying to do. I'm also doing dfd's and sequence diagrams for my system and here's what I'm wondering. 1. The way my system works is when a user creates a new account it adds them as a new userid in the users table then retrives their userid then inserts all of the linkids from the links table to the userlinks table for that specific userid, and if a user logs in with an existing account it gets their userid from the links table and inserts any newly created links that that specific userid may not have in the userlinks table. Have I shown this correctly in the following sequence diagram:- http://i223.photobucket.com/albums/dd147/jimmyoneshot/sequencepic.jpg 2. When you draw dfds if it gets too cramped is it possible to move some processes onto another page i.e. at level 1 is it possible to have say 1.1 and 1.2 on one page and have 1.3 and 1.4 on another? I'm also struglling to firt my returning data flows in. Here are my dfds or at least part of them (context level 0 and a partial example of level 1) Am I on the right lines or off track:- http://i223.photobucket.com/albums/dd147/jimmyoneshot/contpic.jpg http://i223.photobucket.com/albums/dd147/jimmyoneshot/0pic.jpg http://i223.photobucket.com/albums/dd147/jimmyoneshot/1pic.jpg Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060044 Share on other sites More sharing options...
ignace Posted May 18, 2010 Share Posted May 18, 2010 1. The way my system works is when a user creates a new account it adds them as a new userid in the users table then retrives their userid then inserts all of the linkids from the links table to the userlinks table for that specific userid, and if a user logs in with an existing account it gets their userid from the links table and inserts any newly created links that that specific userid may not have in the userlinks table. Have I shown this correctly in the following sequence diagram:- What you explained here is called Use-Cases except it would be formulated in a more abstract manner and it would also include the steps when something goes wrong depending on the involved actors. Also remember that none of these documents are permanent in software development as your code changes so do these documents. They are not static. They "live" as long as the project is. Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060065 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Cheers. I've also done a use case diagram too already but I'm not sure what type of use case it actually is or if it is a use case at all. The one I've done shows user's interactions inside the system domain as well as how other users can interact with these interactions. Here's a screenie of my use case that I have so far. It look ok to you?:- http://i223.photobucket.com/albums/dd147/jimmyoneshot/usecasepic.jpg I thought what you described are known as flow or activity diagrams? i.e. a user logs in and it directs them somewhere a user doesn't log in and it stops there etc? I'm getting them mixed up I think? Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060078 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Whoops sorry wrong picture:- http://i223.photobucket.com/albums/dd147/jimmyoneshot/usecasepic.jpg Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060088 Share on other sites More sharing options...
ignace Posted May 18, 2010 Share Posted May 18, 2010 A Use-Case is not a diagram it's a description of steps, as in text (and sometimes accompanied by a diagram) Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060141 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Ah gotchya, right you are. In this case though I'm attempting to use uml modelling techniques and am trying to use as many of the 14 general uml diagrams as possible. Some of them are redundant/a bit tricky to do as my project is a flex desktop application that uses web based data retrieved via php/xml. In your opinion do the diagrams I've made above look coreect/along the right lines as far as uml moddeling goes or have I got them wrong? Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060146 Share on other sites More sharing options...
ignace Posted May 18, 2010 Share Posted May 18, 2010 I'm attempting to use uml modelling techniques and am trying to use as many of the 14 general uml diagrams as possible. I think you are taking this a bit too serious. In Agile software development all of these diagrams are optional. In preparing for battle, I have always found that plans are useless but planning is indispensable Like Eisenhower you should plan but don't exaggerate. Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060181 Share on other sites More sharing options...
jimmyoneshot Posted May 18, 2010 Author Share Posted May 18, 2010 Ha ha ye. Maybe so. I'm just trying to get in as many as possible as I think each one may earn me more marks with it being for university and all. What are the most essential ones do you think for a system like this? Quote Link to comment https://forums.phpfreaks.com/topic/202145-how-to-document-normalzation/#findComment-1060189 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.