Nie wiem czy moja baza aż tak źle wygląda oto kod
CREATE DATABASE `Ksiazka` ;
USE ksiazka;
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 TelAlarmowe (
idTelAlarmowe INT NOT NULL AUTO_INCREMENT,
NumerTel VARCHAR(3) NOT NULL,
Nazwa VARCHAR(80) NULL,
PRIMARY KEY(idTelAlarmowe)
);
CREATE TABLE Wojewodztwo (
idWojewodztwo INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nazwa VARCHAR(20) NOT NULL,
PRIMARY KEY(idWojewodztwo)
)
MAX_ROWS = 16;
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 Firma (
idFirma INT UNSIGNED NOT NULL AUTO_INCREMENT,
F_idMiasto INT UNSIGNED NOT NULL,
F_idTelefon INT UNSIGNED NOT NULL,
Nazwa VARCHAR(100) NULL,
Logo VARCHAR(100) NULL,
Kod_poczt_firm VARCHAR(6) NULL,
Ulica_firm VARCHAR(30) NULL,
Branza VARCHAR(40) NULL,
PRIMARY KEY(idFirma),
INDEX TelFirma_FK(F_idTelefon),
INDEX MiastoFirma_FK(F_idMiasto),
FOREIGN KEY(F_idTelefon)
REFERENCES Telefon(idTelefon) ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY(F_idMiasto)
REFERENCES Miasto(idMiasto) ON DELETE CASCADE ON UPDATE RESTRICT
);
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(6) 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
);