Schemat bazy danych dla User, Car, Addon

2018-12-03 15:18
0

Witam,

Buduję prostą aplikację i chciałem się zapytać kogoś doświadczonego o projekt bazy danych. Założenia są proste:

  1. Użytkownik posiada 1 lub więcej samochodów.
  2. Użytkownik tworzy 1 lub więcej dodatków do samochodu.
  3. Samochód należy do 1 użytkownika.
  4. Samochów może zawierać 1 lub więcej dodatków, które zostały dodane przez jakiegoś użytkownika.
  5. Dodatek należy do 1 samochodu.

Zrobiłem taki o to schemat (modelowanie metodą Chen):

diagram.png

Tabele:
users (id_u, name)
cars (id_c, name)
addons (id_a, name)
has (id_u, id_c
makes (id_u, id_a)
contains (id_c, id_a)

Finalne tabele:
users (id_u PRIMARY KEY, name)
cars (id_c PRIMARY KEY, id_u FOREIGN KEY, name)
addons (id_a PRIMARY KEY, id_c FOREIGN KEY, id_u FOREIGN KEY, name)

Czy taki schemat będzie ok? :)

edytowany 1x, ostatnio: furious programming, 2018-12-03 15:52

Pozostało 580 znaków

2018-12-03 15:56
1

Między Addons a Car masz 1:1 a nie 1:N
Po co Ci tabele pośrednie skoro nie masz ani jednego związku N:N? Wystarczą Ci trzy tabele.
Co to jest name? Nie kładź sobie kłód pod nogi i nazywaj ID jak człowiek id_car, id_addons, id_user. Dzisiaj pamiętasz które id do czego, ale jak się baza rozrośnie to zginiesz.

edytowany 1x, ostatnio: kate87, 2018-12-03 15:58
Między Addons a Car masz 1:1 a nie 1:N nieprawda - abrakadaber 2018-12-03 19:41
@abrakadaber: racja, efekt robienia dwóch rzeczy na raz. :) - kate87 2018-12-03 22:23

Pozostało 580 znaków

2018-12-03 16:51
0

@kate87:

kate87 napisał(a):

Między Addons a Car masz 1:1 a nie 1:N

Mam 1:N chyba, że chodzi o coś innego :P Car może mieć kilka Addon, ale Addon może należeć tylko do 1 Car.

kate87 napisał(a):

Po co Ci tabele pośrednie skoro nie masz ani jednego związku N:N? Wystarczą Ci trzy tabele.

Mam 3 tabele po optymalizacji schematu: users, cars, addons :P Schemat jest zrobiony za pomocą modelowania Chen (encje, związki, atrybuty).

Nazwy id zmienię na bardziej czytelne. Name to nazwa np. użytkownika, samochodu lub dodatku do samochodu.

Tak w skrócie to te powiązania mogą być? :)

No w sumie jest w miarę ok, nadal nie rozumiem optymalizacji tak prostego schematu. Optymalizacja to przy milionach rekordów, z widokami, a tutaj masz proste tabelki. - kate87 2018-12-03 22:25

Pozostało 580 znaków

2018-12-03 18:14
1

Brakuje ci tej informacji:
Użytkownik tworzy 1 lub więcej dodatków do samochodu.
EDIT: A nie, jest...

edytowany 3x, ostatnio: Marcin.Miga, 2018-12-03 18:19

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0