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)
CREATE DATABASE `Ksiazka` ;
USE ksiazka;
CREATE TABLE Klient (
idKlient INT UNSIGNED NOT NULL AUTO_INCREMENT,
Telefon_idTelefon INT UNSIGNED NOT NULL,
Miasto_idMiasto INT UNSIGNED NOT NULL,
Imie VARCHAR(20) NOT NULL,
Nazwisko VARCHAR(25) NOT NULL,
Ulica VARCHAR(30) NOT NULL,
Kod_poczt VARCHAR(5) NOT NULL,
Firma ENUM('Tak', 'Nie') NOT NULL DEFAULT 'TAK',
PRIMARY KEY(idKlient),
INDEX MIAS_FK(Miasto_idMiasto),
INDEX TEL_FK(Telefon_idTelefon),
FOREIGN KEY(Miasto_idMiasto)
REFERENCES Miasto(idMiasto) ON DELETE CASCADE ON UPDATE RESTRICT,
FOREIGN KEY(Telefon_idTelefon)
REFERENCES Telefon(idTelefon) ON DELETE CASCADE ON UPDATE RESTRICT
);
CREATE TABLE Miasto (
idMiasto INT UNSIGNED NOT NULL AUTO_INCREMENT,
Wojewodztwo_idWojewodztwo INT UNSIGNED NOT NULL,
Nazwa VARCHAR(20) NOT NULL,
Kierunkowy VARCHAR(2) NOT NULL,
PRIMARY KEY(idMiasto),
INDEX Miasto_FK(Wojewodztwo_idWojewodztwo),
FOREIGN KEY(Wojewodztwo_idWojewodztwo)
REFERENCES Wojewodztwo(idWojewodztwo) ON DELETE CASCADE ON UPDATE RESTRICT
);
CREATE TABLE Telefon (
idTelefon INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nr_tel VARCHAR(7) NOT NULL,
Widocznosc ENUM('Tak', 'Nie') NOT NULL DEFAULT 'Tak',
PRIMARY KEY(idTelefon)
);
CREATE TABLE Wojewodztwo (
idWojewodztwo INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nazwa VARCHAR(20) NOT NULL,
PRIMARY KEY(idWojewodztwo)
);
Ten post edytował pikasso 9.07.2008, 16:53:43