G
G
ganbatte2019-10-30 05:23:58
Database design
ganbatte, 2019-10-30 05:23:58

As a novice web programmer, is it the right place to start designing databases?

I am a beginner web programmer making PHP websites using Laravel. But it can be difficult for me with database design, due to the fact that I have no experience in database design at all, and my education is completely leftist. I'm currently using a MySQL database. I am specifically interested in the question, is there any book that describes the design of the database, or the structure in a particular task. For example, I am making an inventory site. And then I make a table where these things are stored with inventory numbers, and how to implement the movement of these things. Create another table and store the movement of these things ? I am currently making a website or better to call an application that will enter a database for a book publishing house, and there is generally a lot of information, there will be about 500 columns in one table, there is a book height, width, and in general a lot of information, who was an artist, etc. I want to make this application, but it's like I'm going blind, and very often I rewrite what I did, and this also applies to database design, I need some book on the database. I was looking for such books, but they are very tricky, and all I need is design...

Answer the question

In order to leave comments, you need to log in

3 answer(s)
D
Dmitry Belyaev, 2019-10-30
@bingo347

1. Read about the 5 normal forms of relational databases
In real life, it's enough to stick to 3NF (which includes 1 and 2), but it's worth knowing all 5
2. Read about indexes and keys, especially compound indexes. Understand at a basic level how the main ones work: BTree, HashMap, full-text search, Bloom filter. You can also look at Foreign Key (although, if memory serves, MySQL does not know how to do it)
3. Read about the features of the available DBMS engines. It is worth understanding what is better for writing and what for reading.

Y
Yerlan Ibraev, 2019-10-30
@mad_nazgul

The classic ! :-)

I
Ivan Melnikov, 2019-10-30
@immelnikoff

The standard situation is when the theoretical base is completely absent. To stop feeling like a blind kitten, you need to close this gap. You need to start with the very basics - the concept of a relationship (oddly enough, it has nothing to do with relationships between tables), keys, normal forms. You must learn and understand all 7 normal forms and be able to construct a table yourself in the nth NF, but not in the n + 1st NF. And as a rest, gaps in set theory, mathematical logic and number systems should be eliminated. No need to take on university monographs - it's pointless. It is quite enough to confine oneself to the school course of mathematics and computer science. This may seem like a difficult and boring task, but if you can endure it, then relief will come and you yourself will be surprised how everything is logical and orderly.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question