Answer the question
In order to leave comments, you need to log in
What book should you read on database design?
Good day to all.
Question 1: I'm learning PHP a little, I've heard a lot that serious projects begin with database design, so that later I don't rake and load the server with requests. Throw, please, sensible books on database design, so that the normal forms are 1, 2, 3, 4, preferably in Russian, preferably as the skill builds up, so that from basic skills, and gradually moving on to professional literature.
Question 2: I want to make something like a car portal, where all the performance characteristics of cars will be. For example, cars are divided into automakers (brands: Honda, Audi, Mercedes, etc.), models (A6, Jazz, Mondeo, CLS), and equipment (A6 Allroad, Mondeo 2.0 Diesel, CLS 63 AMG). In addition, there are all sorts of tuning studios that make modifications to models (for example, the Mercedes-Benz CLS AMG 63 Brabus Rocket 700). This raises the question: are manufacturers, models, configurations and modifications of configurations all different plates? If yes, then for example, where should the column with power be stored, because they are different for configurations and modifications? The question arises to the fact that it would be convenient to go to the site like Mercedes » CLS » AMG 63 » Brabus Rocket, and so that on any of these levels (bread crumbs) I would see other modifications of configurations, or configurations.
Question 3: what is the normal form of the database is considered optimal and is used in most projects? Is it worth the bother for a medium or larger project?
I would be grateful for detailed answers.
Answer the question
In order to leave comments, you need to log in
1. IMHO, a june does not need books on databases, besides, there are simply no good books on databases in Russian, however, there are very few worthy books in Russian in one way or another related to IT .. so it’s better to read the documentation from the off site.
Well, in general, the database as a whole is loudly said. They are different
To begin with, you will only need to read this.
DBMS (your choice)
https://habrahabr.ru/company/mailru/blog/266811/
Schemaless approach (NoSQL)
https://habrahabr.ru/post/152477/
2. "Cutlets separately, flies separately", everything should be separate, yet connected.
Read about it Foreign
key relationships
https://habrahabr.ru/post/193380/
3. Perhaps you meant which database to use. I would advise you postgresql, but it will be orthodox if you start with mysql, because if you have questions, you will find more information on mysql in RuNet.
I am answering 3 of your questions IMMEDIATELY: An
intermediate table of relationships between entities is always used for relational databases and many-to-many relationships:
objectA:ID<->LINK: objectA:ID, objectB:ID<->objectB:ID
Through such Relationships You can define any relationships between entities up to FULL-MESH (fully-meshed data structure).
It is enough to optimize the structure to 3NF. Deeper - already redundancy.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question