Member 14007867 Ответов: 1

Как мне завершить свой проект базы данных - mysql


Привет вам всем! Это небольшая база данных для MySQL. Моя компания-это магазин хлебобулочных изделий, где я должен разработать для них простую базу данных. Я должен начать с самого начала. Прямо сейчас я настроил свои ER-диаграммы и бизнес-правила. Но почему-то мне кажется, что эта база данных странная. Так что у вас, ребята, есть какие-нибудь рекомендации для меня.
Я использую MySQL Workbench. Я создал 5 таблиц PASTRY, ORDER, ORDERItem, CUSTOMER и EMPLOYEE. (ORDERItem-это связывающая таблица). Я запустил свой сценарий, и он работал совершенно нормально. К твоему сведению, я новичок в базе данных.


У вас, ребята, есть какие-нибудь предложения! Большое вам спасибо!

Что я уже пробовал:

/* мой проект*/
НАЧАТЬ;

ОТБРОСЬТЕ ТАБЛИЦУ, ЕСЛИ ОНА СУЩЕСТВУЕТ.;
УДАЛЕНИЕ ТАБЛИЦЫ ПРИ НАЛИЧИИ ПОДДЕРЖКИ;
ОТБРОСЬТЕ ТАБЛИЦУ, ЕСЛИ ОНА СУЩЕСТВУЕТ СОТРУДНИК;
Удаление таблицы при наличии заказов;
Отбросьте таблицу, если она существует ORDERItem;


СОЗДАТЬ СТОЛОВУЮ ВЫПЕЧКУ (
BAKEID INTEGER NOT NULL,
BAKE_CATEGORY VARCHAR(20) NOT NULL,
BAKE_PRICE NUMERIC (8,2) NOT NULL,
BAKE_QOH SMALLINT NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ (BAKEID));

СОЗДАТЬ ТАБЛИЦУ CUSTOMER (
ЧИСЛОВОЙ ПЕРВИЧНЫЙ КЛЮЧ CUS_ID,
CUS_FNAME VARCHAR(15) NOT NULL,
CUS_LNAME VARCHAR(15) NOT NULL,
CUS_PHONE CHAR(12) NOT NULL,
CUS_BALANCE ЧИСЛОВОЙ(9,2) ПО УМОЛЧАНИЮ 0.00,
ОГРАНИЧЕНИЕ CUS_UI1 UNIQUE (CUS_FNAME, CUS_LNAME));

СОЗДАТЬ ТАБЛИЦУ СОТРУДНИК (
ЧИСЛОВОЙ ПЕРВИЧНЫЙ КЛЮЧ EMP_ID,
EMP_FNAME VARCHAR(15) NOT NULL,
EMP_LNAME VARCHAR(15) NOT NULL,
EMP_PHONE CHAR(12));

Создать таблицу "заказы" (
ПЕРВИЧНЫЙ КЛЮЧ ORDER_ID INTEGER,
CUS_ID ЧИСЛОВОЙ NOT NULL,
EMP_ID NUMERIC NOT NULL REFERENCES EMPLOYEE (EMP_ID),
ORDER_AMOUNT NUMERIC(9,2) DEFAULT 0.00,
ORDER_DATE DATETIME NOT NULL,
ORDER_STATUS VARCHAR(50));


Создать таблицу ORDERItem (
BAKEID ЦЕЛОЕ ЧИСЛО НЕ НУЛЬ ССЫЛОК МУЧНЫМИ КОНДИТЕРСКИМИ ИЗДЕЛИЯМИ (BAKEID),
ORDER_ID INTEGER NOT NULL ссылки на заказы (ORDER_ID));

Вставить в кондитерские изделия значения(101,'яблочный пирог', 17.25 , 20);
Вставить в кондитерские изделия значения(102,'шоколадный рулет', 15 , 10);
Вставить в кондитерские изделия значения(103,'Эклер', 7 , 35);
Вставить в кондитерские изделия значения(104,'банановый маффин', 4 , 40);
Вставить в кондитерские изделия значения(105,'булочка с корицей', 4 , 22);
Вставить в кондитерские изделия значения(106,'Opera Cake', 30 , 6);
Вставить в кондитерские изделия значения(107,"макарон", 3 , 45);
Вставить в кондитерские изделия значения(108,'сдобный рулет', 12 , 12);
Вставить в кондитерские изделия значения(109,"кокосовый торт", 15 , 46);
Вставить в кондитерские изделия значения(110,'Rasberry Cake', 15 , 10);
Вставить в кондитерские изделия значения(111,'клубничный мусс', 19 , 10);

Вставить в заказы значения(111, 10011, 111, 92.50,'2017-11-03', 'сделано');
Вставить в заказы значения(112, 10012, 112, 98,'2017-11-03', 'ожидание');
Вставить в заказы значения(113, 10013, 113, 100, '2017-11-03', 'ожидание');
Вставить в заказы значения(114, 10014, 114, 158.58,'2017-11-03', 'частично сделано');
Вставить в заказы значения(115, 10015, 115, 25,'2017-11-03', 'сделано');
Вставить в заказы значения(116, 10016, 116, 69,'2017-11-03', 'ожидание');
Вставить в заказы значения(117, 10017, 117, 78,'2017-11-03', 'сделано');
Вставить в заказы значения(118, 10018, 118, 150,'2017-11-03', 'доставлено');
Вставить в заказы значения(119, 10019, 119, 30,'2017-11-03', 'доставлено');


Вставить в ORDERItem значения(101, 10011);
Вставить в ORDERItem значения(102, 10012);
Вставить в ORDERItem значения(103, 10013);
Вставить в ORDERItem значения(104, 10014);
Вставить в ORDERItem значения(105, 10015);
Вставить в ORDERItem значения(106, 10016);
Вставить в ORDERItem значения(107, 10017);
Вставить в ORDERItem значения(108, 10018);
Вставить в ORDERItem значения(109, 10019);


Вставить в значения клиента(10011,'Will', 'Smith','985-859-9856' , 25.60);
Вставка в значения клиента(10012,"Джон", "судьба","562-985-3654" , 85);
Вставить в значения клиента(10013,"Дерек", "Элисон","817-125-3685", 283.36);
Вставить в значения клиента(10014,'Shawn', 'Brown','817-259-3506' , 85.20);
Вставить в значения клиента(10015,"Питер", "Хоббс","817-254-0301" , 45.52);
Вставить в значения клиента(10016,'Bob', 'Shawn','817-825-0258' , 85);
Вставить в значения клиента(10017,'Leif', 'Sean','857-003-6985' , 25);
Вставить в значения клиента(10018,'Holland', 'Leif','859-559-6975' , 20);
Вставить в значения клиента(10019,'Myers', 'Sergio','125-254-6548' , 45.30);


Вставить в значения сотрудников(111, "Элиза", "Джонсон","817-458-0252");
Вставить в значения сотрудников(112, "Элла", "Чжао","817-458-0325");
Вставка в ценности сотрудника(113, 'Лиза', 'стремительный','817-125-2587');
Вставить в значения сотрудников(114, "Ной", "Надежда","817-025-3584");
Вставить в значения сотрудников(115, "Алекс", "Элисон","258-256-0369");
Вставить в значения сотрудников(116, "Эмма", "Морган", "256-025-4856");
Вставить в значения сотрудников(117, 'Taylor', 'Doe','817-365-6975');
Вставить в значения сотрудников(118, 'Taylor', 'Dannon','817-458-6812');
Вставить в значения сотрудников(119, 'Taylor', 'Williams','817-005-6855');

СОВЕРШИТЬ;

Afzaal Ahmad Zeeshan

Я считаю, что вы жестко кодируете контент, это странно. Вы должны придумать панель мониторинга или интерфейс, который будет управлять слоем для создания данных и запросов.

Member 14007867

Большое вам спасибо! Я работаю над этим!

1 Ответов

Рейтинг:
6

MadMyche

Это похоже на базовую схему электронной коммерции; и есть несколько вещей, которые вы, возможно, захотите рассмотреть в своей настройке.

Первое было бы в вашем Order стол. Часто места будут иметь скидки или купоны, так что вы можете иметь столбцы для них и, возможно, один для налогов, а также.

Второе было бы в вашем OrderItem стол. В нем определенно должна быть добавлена колонка для Количество. Я бы также добавил в колонку для цены. Я знаю, что ссылка на Кондитерские изделия таблица даст нам цену; однако, если это изменение цены, вы потеряете целостность своих данных.


Member 14007867

Большое вам спасибо за ваши рекомендации.