Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jakie dobrać relacje
pikasso
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 8.07.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam wszystkich mam takie pytanie tworzę bazę danych Książki telefonicznej.
Mam takie tabele i teraz zastanawiam się co tu można jeszcze poprawić albo dodać żeby było bardziej rozbudowane (nie wiem myślałem o telefonach komórkowych, albo oddzielnie firmę opisać) i jakie dobrać relacje do tej bazy danych.

Czy takie ralacje będą dobre (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
  1. CREATE DATABASE `Ksiazka` ;
  2. USE ksiazka;
  3. CREATE TABLE Klient (
  4. idKlient INT UNSIGNED NOT NULL AUTO_INCREMENT,
  5. Telefon_idTelefon INT UNSIGNED NOT NULL,
  6. Miasto_idMiasto INT UNSIGNED NOT NULL,
  7. Imie VARCHAR(20) NOT NULL,
  8. Nazwisko VARCHAR(25) NOT NULL,
  9. Ulica VARCHAR(30) NOT NULL,
  10. Kod_poczt VARCHAR(5) NOT NULL,
  11. Firma ENUM('Tak', 'Nie') NOT NULL DEFAULT 'TAK',
  12. PRIMARY KEY(idKlient),
  13. INDEX MIAS_FK(Miasto_idMiasto),
  14. INDEX TEL_FK(Telefon_idTelefon),
  15. FOREIGN KEY(Miasto_idMiasto)
  16. REFERENCES Miasto(idMiasto) ON DELETE CASCADE ON UPDATE RESTRICT,
  17. FOREIGN KEY(Telefon_idTelefon)
  18. REFERENCES Telefon(idTelefon) ON DELETE CASCADE ON UPDATE RESTRICT
  19. );
  20.  
  21. CREATE TABLE Miasto (
  22. idMiasto INT UNSIGNED NOT NULL AUTO_INCREMENT,
  23. Wojewodztwo_idWojewodztwo INT UNSIGNED NOT NULL,
  24. Nazwa VARCHAR(20) NOT NULL,
  25. Kierunkowy VARCHAR(2) NOT NULL,
  26. PRIMARY KEY(idMiasto),
  27. INDEX Miasto_FK(Wojewodztwo_idWojewodztwo),
  28. FOREIGN KEY(Wojewodztwo_idWojewodztwo)
  29. REFERENCES Wojewodztwo(idWojewodztwo) ON DELETE CASCADE ON UPDATE RESTRICT
  30. );
  31.  
  32. CREATE TABLE Telefon (
  33. idTelefon INT UNSIGNED NOT NULL AUTO_INCREMENT,
  34. Nr_tel VARCHAR(7) NOT NULL,
  35. Widocznosc ENUM('Tak', 'Nie') NOT NULL DEFAULT 'Tak',
  36. PRIMARY KEY(idTelefon)
  37. );
  38.  
  39. CREATE TABLE Wojewodztwo (
  40. idWojewodztwo INT UNSIGNED NOT NULL AUTO_INCREMENT,
  41. Nazwa VARCHAR(20) NOT NULL,
  42. PRIMARY KEY(idWojewodztwo)
  43. );


Ten post edytował pikasso 9.07.2008, 16:53:43
Go to the top of the page
+Quote Post
box3r
post
Post #2





Grupa: Zarejestrowani
Postów: 52
Pomógł: 2
Dołączył: 24.05.2005

Ostrzeżenie: (0%)
-----


1; przenies kod pocztowy do tabeli miasto / miasto ma kod pocztowy a nie klient
2; dolacze tabele klient_miasto - relacja wiele do wielu/jeden do wielu jedno miasto moze miec kliku klientow
3; wokewodzto ma kilka miast - musi byc tabela przechowujaca to
4; klient przeciez tez moze miec kilka telefonow
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.12.2025 - 18:23