SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.01.2012 14:01:55

Мария55
Участник
Зарегистрирован: 18.01.2012
Сообщений: 11

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

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

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


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;
 

Отредактированно Мария55 (19.01.2012 14:37:29)


Прикрепленные файлы:
Attachment Icon лаба2.txt, Размер: 1,797 байт, Скачано: 537

Неактивен

 

#2 20.01.2012 06:48:03

ita
Участник
Зарегистрирован: 24.09.2008
Сообщений: 19

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

Но Вы хотя бы поясните, что означают таблицы Discount,  Forfeit , Deal. Какая в них хранится информация, поясните также назначение полей.

Неактивен

 

#3 21.01.2012 15:36:13

Мария55
Участник
Зарегистрирован: 18.01.2012
Сообщений: 11

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

ita написал:

Но Вы хотя бы поясните, что означают таблицы Discount,  Forfeit , Deal. Какая в них хранится информация, поясните также назначение полей.

ну если вы знаете английский язык то тут и пояснять ничего не надо,  Discount - скидка, Forfeit - штраф, Deal - Сделка

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson