Sharkky |
06-10-2003 10:53 207896 |
1. Если в mySQL уже создана таблица как я могу назначить одно из её полей ключевым?
2. Будет ли mySQL отслеживать при этом уникальность ключа?
3. Можно ли создавать связи между полями таблиц, и может ли, при этом, mySQL обеспечивать целостность данных? (На подобие того как это происходит в Access)
|
Megabyte |
07-10-2003 08:08 207897 |
1.
Код:
ALTER TABLE `table_name` ADD PRIMARY KEY ( `field_name` )
2. Будет.
3. Не в курсе, Oracle точно будет, а с MySQL я так не делал.
|
Sean Ingumsky |
08-10-2003 01:37 207898 |
Megabyte:up::up:
Sharkky
Цитата:
3. Можно ли создавать связи между полями таблиц, и может ли, при этом, mySQL обеспечивать целостность данных? (На подобие того как это происходит в Access)
|
Что имеется в виду? Разъясните, пожалуйста.
|
Megabyte |
08-10-2003 08:19 207899 |
Пример для Оракла:
Например, есть таблица клиентов
Код:
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 |
08-10-2003 13:01 207900 |
Megabyte
Да, подобное есть и в MySQL...
Sharkky
Есть один хорошоий способ всё узнать - посмотреть документацию ;-)) Там можно гораздо быстрее найти полные ответы на все интересующие вопросы. Документация в Сети есть, например, здесь: www.mysql.com/documentation.
|
Время: 12:23.
© OSzone.net 2001-