1. Если в mySQL уже создана таблица как я могу назначить одно из её полей ключевым?
2. Будет ли mySQL отслеживать при этом уникальность ключа?
3. Можно ли создавать связи между полями таблиц, и может ли, при этом, mySQL обеспечивать целостность данных? (На подобие того как это происходит в Access)
Несколько вопросов об ...
-
Sharkky
Re: Несколько вопросов об ...
1.
Код:
2. Будет.
3. Не в курсе, Oracle точно будет, а с MySQL я так не делал.
Код:
Код: Выделить всё
ALTER TABLE `table_name` ADD PRIMARY KEY ( `field_name` )2. Будет.
3. Не в курсе, Oracle точно будет, а с MySQL я так не делал.
-
Sean Ingumsky
Re: Несколько вопросов об ...
Megabyte

Sharkky
Цитата:
3. Можно ли создавать связи между полями таблиц, и может ли, при этом, mySQL обеспечивать целостность данных? (На подобие того как это происходит в Access)
Что имеется в виду? Разъясните, пожалуйста.


Sharkky
Цитата:
3. Можно ли создавать связи между полями таблиц, и может ли, при этом, mySQL обеспечивать целостность данных? (На подобие того как это происходит в Access)
Что имеется в виду? Разъясните, пожалуйста.
-
Megabyte
Re: Несколько вопросов об ...
Пример для Оракла:
Например, есть таблица клиентов
Код:
и таблица заказов
Код:
Директива constraint указывает Ораклу, что поле order_customer_id в таблице orders - ссылка на customer_id в таблице customers. Тогда Оракл сам будет следить, чтобы у всех записей в таблице orders значение в поле order_customer_id совпадало с одним из значений из customer_id. То есть при любом изменении order_customer_id Оракл проверит, есть ли такое значение в customer_id, если нет - не даст изменить (или вставить). Также он не даст удалить сроки их таблицы customers, если его customer_id есть в одном из order_customer_id.
Например, есть таблица клиентов
Код:
Код: Выделить всё
customers (
customer_id Number,
customer_name Varchar2(500),
...
)и таблица заказов
Код:
Код: Выделить всё
orders (
order_id Number,
order_customer_id Number,
constraint orders_fk FOREIGN KEY (order_customer_id) References customers(customer_id),
...
)Директива constraint указывает Ораклу, что поле order_customer_id в таблице orders - ссылка на customer_id в таблице customers. Тогда Оракл сам будет следить, чтобы у всех записей в таблице orders значение в поле order_customer_id совпадало с одним из значений из customer_id. То есть при любом изменении order_customer_id Оракл проверит, есть ли такое значение в customer_id, если нет - не даст изменить (или вставить). Также он не даст удалить сроки их таблицы customers, если его customer_id есть в одном из order_customer_id.
-
Sean Ingumsky
Re: Несколько вопросов об ...
Megabyte
Да, подобное есть и в MySQL...
Sharkky
Есть один хорошоий способ всё узнать - посмотреть документацию
) Там можно гораздо быстрее найти полные ответы на все интересующие вопросы. Документация в Сети есть, например, здесь:
Да, подобное есть и в MySQL...
Sharkky
Есть один хорошоий способ всё узнать - посмотреть документацию
www.mysql.com/documentation
.