1

ばかげた質問で申し訳ありませんが、MySQL でデータベースを作成しており、完了したときはとても満足していました。また、これは私のデータベースであり、あの人は今本当につまらないものです。私のバグとそれらの解決策について書いてください。

CREATE TABLE`Skoleni` (
    `sk_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Cena` MEDIUMINT NOT NULL,
    `Obsazenost` text NOT NULL,
    `Kapacita` datetime NOT NULL,
    `Popis` text,
    `Prerekvizity` text,
    `Certifikat` MEDIUMINT NOT NULL,
    PRIMARY KEY (`sk_id`),
    FOREIGN KEY (`sk_id`) REFERENCES Skoleni_has_Termin(`Skoleni_sk_id`),
    FOREIGN KEY (`sk_id`) REFERENCES Skoleni_has_Uzivatel(`Skoleni_sk_id`)
);

CREATE TABLE `Skoleni_has_Termin`(
    `Skoleni_sk_id`INT NOT NULL UNIQUE,
    `Termin_ter_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Skoleni_sk_id`)
);

CREATE TABLE `Termin` (
    `ter_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Datum_cas` DATETIME NOT NULL,
    `Misto_mo_id` INT NOT NULL,
    PRIMARY KEY (`ter_id`),
    FOREIGN KEY (`ter_id`) REFERENCES Skoleni_has_Termin(`Termin_ter_id`)
);

CREATE TABLE `Misto` (
    `mo_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `ulice` MEDIUMINT NOT NULL,
    `cislo_popisne` MEDIUMINT NOT NULL,
    `lat` FLOAT (10,6) NOT NULL,
    `lng` FLOAT (10,6) NOT NULL,
  PRIMARY KEY (`mo_id`)
)ENGINE = MYISAM;

SELECT TABLE.Misto(
INSERT (`ulice`, `cislo_popisne`, `lat`, `lng`),
VALUES (`dr_Zikmunda_Wintra_376_5``16000 Praha 6 Bubenec``14.407438``50.101049`)
);

CREATE TABLE `Skoleni_has_Uzivatel` (
    `Skoleni_sk_id` INT NOT NULL UNIQUE,
    `Uzivatel_uziv_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Skoleni_sk_id`)
);

CREATE TABLE `Uzivatel` (
    `uziv_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Jmeno` VARCHAR(30) NOT NULL,
    `Typ` MEDIUMINT UNIQUE,
    `Heslo` VARCHAR(32) NOT NULL,
    `Potvrzeni` VARCHAR(1) NOT NULL,
   PRIMARY KEY (`uziv_id`),
   FOREIGN KEY (`uziv_id`) REFERENCES Skoleni_has_Uzivatel(`Uzivatel_uziv_id`)
);

CREATE TABLE `Skoleni_has_Lektor` (
    `Skoleni_sk_id` INT NOT NULL UNIQUE,
    `Lektor_lek_id` INT NOT NULL UNIQUE,
    PRIMARY KEY (`Lektor_lek_id`)
);

CREATE TABLE `Lektor` (
    `lek_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `Titul'pred'` VARCHAR(10) NOT NULL,
    `Jmeno` VARCHAR(20) NOT NULL,
    `Prijmeni` VARCHAR(20) NOT NULL,
    `Titul'za'` VARCHAR(10),
    `Firma` VARCHAR(30),
    `Rodne cislo` CHAR(11) NOT NULL,
    `Datum narozeni` DATE NOT NULL,
   PRIMARY KEY (`lek_id`)
);

CREATE TABLE `Firma` (
    `fir_id` INT NOT NULL UNIQUE AUTO_INCREMENT,
    `E-mail` VARCHAR(15) NOT NULL,
    `Telefon` VARCHAR(15) NOT NULL,
    `Web` VARCHAR(30),
    `IC` CHAR(8) NOT NULL,
    `DIC` VARCHAR(12) NOT NULL,
    `Misto_mo_id` INT NOT NULL,
   PRIMARY KEY (`fir_id`),
   PRIMARY KEY (`Misto_mo_id`),
   FOREIGN KEY (`Misto_mo_id`) REFERENCES Firma(`Misto_mo_id`)
);
4

1 に答える 1

0

テーブル `skoleni_has_termin' と 'skoleni_has_lektor' はおそらくここでは必要ありません。トレーニングと講師の関係は m:n ではなく 1:n であるため、トレーニング テーブルに日付を入力し、skoleni テーブルに lektor_id だけを残します (1 つのトレーニングに複数の講師がいる場合を除きます)。

于 2013-07-18T08:04:34.703 に答える