Разработка базы данных MySQL для службы такси, нужно посоветовать - PullRequest
0 голосов
/ 27 января 2019

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

Вот таблицы.

CUSTOMER TABLE 

Customer_ID INT (PK,NN,AI,UN)
firstName VARCHAR(45) (NN)
lastName VARCHAR(45) (NN)
Email VARCHAR(50) (NN)
Phone VARCHAR(20) (NN)

RIDE

Ride_ID INT (PK,NN,AI,UN)
pickUpLocation TEXT(50) (NN)
Destination TEXT(50) (NN)
rideDate DATE (NN)
rideTime TIME (NN)
babyOnBoard VARCHAR(45) 

У меня следующие вопросы:

  1. В MySQL Workbench TIME содержит скобки и нуждается в параметре, в противном случае этоне принятоКакие параметры?То же самое касается текста.Параметры TEXT совпадают с параметрами VARCHAR?

2. Каким, по вашему мнению, должен быть внешний ключ в таблице Ride?rideDate with rideTime?

Если у вас есть какие-либо другие предложения, будем рады их услышать.

Это моя первая база данных, поэтому, пожалуйста, примите это во внимание.

1 Ответ

0 голосов
/ 28 января 2019

ВРЕМЯ имеет круглую скобку и нуждается в параметре, в противном случае она не принимается.Каковы параметры?

В MySQL v5.7 я смог создать столбец rideTime без скобок, например:

CREATE TABLE test (
  rideTime TIME
);

Параметры TEXT совпадают с параметрами VARCHAR?

Нет.Из документации (мой акцент):

TEXT [(M)] [CHARACTER SET charset_name] [COLLATE collation_name]

столбец TEXT с максимумомдлина 65 535 (216 - 1) символов.Эффективная максимальная длина меньше, если значение содержит многобайтовые символы.Каждое значение TEXT сохраняется с использованием 2-байтового префикса длины, который указывает количество байтов в значении.

Для этого типа может быть указана дополнительная длина M.Если это сделано, MySQL создает столбец как наименьший тип TEXT, достаточно большой, чтобы содержать значения длиной M символов.

Типы TEXT включают LONGTEXT и TINYTEXT.


Каким, по вашему мнению, должен быть внешний ключ в таблице Ride?rideDate with rideTime?

Внешний ключ относится к строке в другой таблице.Итак, при условии отношения 1: M между клиентами и поездками, внешний ключ, который будет создан после этого, будет столбцом CustomerID в таблице RIDE, например:

FOREIGN KEY (CustomerID) REFERENCES CUSTOMER(Customer_ID)

rideDate и rideTime не относятся к другой таблице, поэтому их не следует использовать в качестве внешнего ключа.


Надеюсь, это ответит на все ваши вопросы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...