MySQL - Нужна помощь по исправлению ошибок в базе данных

Ответить
Аватара пользователя
мария55

MySQL - Нужна помощь по исправлению ошибок в базе данных

Сообщение мария55 »

Прокат автомобилей.

Фирма, занимающаяся прокатом автомобилей, имеет автопарк, содержащий некоторое количество автомобилей различных марок, стоимостей и типов. Каждый автомобиль имеет свою стоимость проката. В пункт проката обращаются клиенты. Клиенты проходят обязательную регистрацию, в ходе которой о них собирается стандартная информация (фамилия, имя, отчество, адрес, телефон). Каждый клиент может обращаться в пункт проката несколько раз. Обращения клиентов фиксируются, при этом по каждой сделке запоминаются дата выдачи и ожидаемая дата возврата. Стоимость проката автомобиля должна зависеть не только от самого автомобиля, но и от срока его проката, а также от года выпуска. Также нужно ввести систему штрафов за возвращение автомобиля в ненадлежащем виде и систему скидок для постоянных клиентов.



БД то я создала, но препод сказал что она некорректно создана. помогите пожалуйста исправить!!!







Код:

Код: Выделить всё

DROP DATABASE IF EXISTS Prokat_car;
CREATE DATABASE Prokat_car;
USE Prokat_car;
CREATE TABLE Car (
    ID_car int(10) NOT NULL AUTO_INCREMENT,
    c_title varchar(40) NOT NULL,
                   c_mark varchar(40) NOT NULL,
                   c_type varchar(20) NOT NULL,
                   c_year year NOT NULL,
    PRIMARY KEY  (ID_car)
) TYPE=InnoDB;
CREATE TABLE Client (
    ID_client int(10) NOT NULL AUTO_INCREMENT,
    name varchar(40) NOT NULL,
    address varchar(40) NOT NULL,
    tel int(10) NOT NULL,
    num_deal int(10) NOT NULL,
    PRIMARY KEY  (ID_client)
) TYPE=InnoDB;
CREATE TABLE Discount (
    ID_disc int(10) NOT NULL AUTO_INCREMENT,
    disc int(10) NOT NULL,
    num_deal int(10) NOT NULL,
    PRIMARY KEY  (ID_disc)
) TYPE=InnoDB;
CREATE TABLE Forfeit (
                  ID_forfeit int(10) NOT NULL AUTO_INCREMENT,
                  type_f varchar(40) NOT NULL,
                  forfeit int(10) NOT NULL,
    PRIMARY KEY (ID_forfeit)
) TYPE=InnoDB;
CREATE TABLE Deal (
    ID_deal int(10) NOT NULL AUTO_INCREMENT,
    ID_client int(10) NOT NULL,
    ID_car int(10) NOT NULL,
    ID_disc int(10) NOT NULL default '0',
    ID_forfeit int(10),
                  date_st date NOT NULL default '0000-00-00',
                  date_end date  NOT NULL default '0000-00-00',
    price decimal(10,2)  NULL default '0.00',
    PRIMARY KEY  (ID_deal),
    FOREIGN KEY (ID_client) REFERENCES Client(ID_client) ON DELETE
CASCADE ON UPDATE CASCADE,
                  FOREIGN KEY (ID_car) REFERENCES Car(ID_car) ON DELETE
CASCADE ON UPDATE CASCADE,
                  FOREIGN KEY (ID_disc) REFERENCES Discount(ID_disc) ON DELETE
CASCADE ON UPDATE CASCADE,
                  FOREIGN KEY (ID_forfeit) REFERENCES Forfeit(ID_forfeit) ON DELETE
CASCADE ON UPDATE CASCADE) 
TYPE=InnoDB;
show tables;
Аватара пользователя
Sham

Re: MySQL - Нужна помощь по исправлению ошибок в базе данных

Сообщение Sham »

Эх жалко, когда я учился не знал этот сайт, а то бы оценка по кампам была бы выше Изображение
Ответить

Вернуться в «Программирование и базы данных»