MySQL Workbench. Как создать связь между таблицами
Формулировка задачи:
Как в MySQL Workbench создать такую же связь между таблицами, как в MS Access?
Пикчи прилагаются.
P.S. Как здесь вставлять картинки через тег?
Решение задачи: «MySQL Workbench. Как создать связь между таблицами»
textual
Листинг программы
CREATE TABLE `doctor` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR, `specialization` VARCHAR, `experience` VARCHAR, PRIMARY KEY (`id`) ); CREATE TABLE `phone` ( `doc_id` INT, `h_phone` VARCHAR, `m_phone` VARCHAR, `w_phone` VARCHAR ); CREATE TABLE `address` ( `doc_id` INT, `city` VARCHAR, `street` VARCHAR, `home` VARCHAR, `houseroom` VARCHAR ); ALTER TABLE `phone` ADD CONSTRAINT `phone_fk1` FOREIGN KEY (`doc_id`) REFERENCES doctor(`id`); ALTER TABLE `address` ADD CONSTRAINT `address_fk1` FOREIGN KEY (`doc_id`) REFERENCES doctor(`id`);
Объяснение кода листинга программы
- Создание таблицы
doctorс полями:idINT NOT NULL AUTO_INCREMENTnameVARCHARspecializationVARCHARexperienceVARCHAR- PRIMARY KEY (
id)
- Создание таблицы
phoneс полями:doc_idINTh_phoneVARCHARm_phoneVARCHARw_phoneVARCHAR
- Создание таблицы
addressс полями:doc_idINTcityVARCHARstreetVARCHARhomeVARCHARhouseroomVARCHAR
- Добавление ограничений внешнего ключа для таблицы
phoneс использованием команды ALTER TABLE:phone_fk1FOREIGN KEY (doc_id) REFERENCES doctor(id)
- Добавление ограничений внешнего ключа для таблицы
addressс использованием команды ALTER TABLE:address_fk1FOREIGN KEY (doc_id) REFERENCES doctor(id)