Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Нужна помощь по исправлению ошибок в базе данных (http://forum.oszone.net/showthread.php?t=225685)

мария55 19-01-2012 17:05 1839705

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

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


Код:

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 19-01-2012 21:43 1839903

Цитата:

Цитата мария55
TYPE=InnoDB »

ENGINE=InnoDB?

~user~ 26-01-2012 08:27 1844671

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

Delirium 27-01-2012 01:59 1845318

Цитата:

Цитата ~user~
оценка по кампам была бы выше »

Да и по русскому языку тоже :)


Время: 00:27.

Время: 00:27.
© OSzone.net 2001-