3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции


Скачать 61.63 Kb.
Название 3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
Работа в mySQL Workbench

3. Заполнение базы данных, модификация данных
На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции

щелкнем по ссылке Open Connection to Start Querying. В открывшемся окне нужно задать username и password, и нажать на кнопку «ОК».
Мы подключились к MySQL server.

В этом режиме работы рабочая область MySQL Workbench разделена на 3 окна:



  • Верхнее окно SQL Statements предназначено для ввода и выполнения команд SQL. Внимание! В OS Windows XP текст, набранный в этом окне, автоматически не сохраняется. Если вы переместились из этого окна в какой-то другой режим работы, текст может быть потерян.

  • Нижнее окно с несколькими вкладками показывает структуру имеющихся баз данных и позволяет ими управлять. Например, если дваждыщелкнуть по какой-либо таблице, то откроется дополнительное окно со структурой этой таблицы в нижней части рабочей области.

  • Правое окно содержит иерархию объектов сервера.


Для заполнения базы данных в MySQL Workbench есть несколько возможностей. Рассмотрим три из них.
1-ый способ заполнения базы данных – используем команду INSERT
Самый универсальный и гибкий способ создания данных состоит в использовании SQL-команды INSERT. Формат у нее такой:
INSERT INTO ИмяТаблицы (СписокСтолбцовТаблицы)

VALUES (СписокЗначений);
Если в этой команде пропустить СписокСтолбцовТаблицы, то имеются в виду ВСЕ столбцы, и именно в таком порядке, в каком они были определены при создании таблицы.

SQL-команды нужно набирать в окне SQL statement. Для выполнения команд нужно выбрать меню Query Execute или кнопку на панели инструментов или нажать Ctrl+Enter.

Можно набрать несколько команд и выполнить их все вместе, или выделить отдельную команду (как для копирования) и выполнить только ее.

Текст SQL-команд, который также называют SQL-сценарием, можно (и нужно!) сохранять в файл. По умолчанию тип файла sql.
Заполним таблицу Предприятия:
# выберем базу данных

USE kontora;
# добавим строки

INSERT INTO k_firm (firm_name, firm_addr)

VALUES('Альфа', 'Москва');

INSERT INTO k_firm (firm_name, firm_addr)

VALUES('Бета', 'Казань');

INSERT INTO k_firm (firm_name, firm_addr)

VALUES('Гамма', 'Париж');

INSERT INTO k_firm (firm_name, firm_addr)

VALUES('Дельта', 'Лондон');

INSERT INTO k_firm (firm_name, firm_addr)

VALUES('Омега', 'Токио');
# посмотрим результат

SELECT * FROM k_firm;
Обратите внимание, что мы не задавали значения для столбца firm_num, поскольку этот столбец имеет свойство Auto increment, и сервер его заполняет сам, натуральными числами.

Заполним Отдел
INSERT INTO k_dept (dept_short_name, dept_full_name)

VALUES('Sales', 'Отдел продаж');

INSERT INTO k_dept (dept_short_name, dept_full_name)

VALUES('Mart', 'Отдел маркетинга');

INSERT INTO k_dept (dept_short_name, dept_full_name)

VALUES('Cust', 'Отдел гарантийного обслуживания');
SELECT * FROM k_dept;

Заполним таблицу Сотрудник. Обратите внимание, что в этой таблице можно указывать только такой номер отдела, который существует в таблице Отдел! (Оставить это поле пустым тоже можно.)
INSERT INTO k_staff (staff_name, K_dept_dept_num, staff_hiredate, staff_post)

VALUES('Иванов', 1, '1999-01-01', 'Менеджер');

INSERT INTO k_staff (staff_name, K_dept_dept_num, staff_hiredate, staff_post)

VALUES('Петров', 2, '2010-10-13','Менеджер');

INSERT INTO k_staff (staff_name, K_dept_dept_num, staff_hiredate, staff_post)

VALUES('Сидоров', 3, '2005-12-01','Менеджер');

INSERT INTO k_staff (staff_name, staff_hiredate, staff_post)

VALUES('Семенов', '1990-01-01','Директор');

INSERT INTO k_staff (staff_name, K_dept_dept_num, staff_hiredate, staff_post)

VALUES('Григорьев', 3, '2008-12-19','Программист');
SELECT * FROM k_staff;

Что же будет, если указать несуществующий номер отдела?
INSERT INTO k_staff

(staff_name, K_dept_dept_num, staff_hiredate, staff_post)

VALUES('Смит', 10, '2013-01-01','Консультант');
Будет получена следующая ошибка:

Error code: 1452

Cannot add or update a child row: a foreign key constraint fails (`kontora`,`k_staff`, CONSTRAINT `fk_staff_k_dept` FOREIGN KEY (`k_dept_dept_num`) REFERENCES `k_dept` (`dept_num`) …

Заполним таблицу Договор
INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('A', 1, 1,'2011-11-01');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('B', 1, 2,'2011-10-01');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('C', 1, 1,'2011-09-01');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('A', 2, 2,'2011-11-15');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('B', 2, 2,'2011-08-01');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('C', 3, 1,'2011-07-15');

INSERT INTO k_contract

(contract_type, k_firm_firm_num, k_staff_staff_num, contract_date) VALUES('A', 4, 1,'2011-11-12');
SELECT * FROM k_contract;

Заполним таблицу Счет
INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(1, '2011-11-12', '2011-12-12', 1000);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(1, '2011-12-12', '2012-01-12', 2000);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(1, '2012-01-12', '2012-02-12',2000);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(2, '2011-12-12', '2012-01-12', 6000);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(2, '2012-01-12', '2012-02-12', 2000);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(3, '2012-01-12', '2012-02-12', 2500);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(4, '2011-12-12', '2012-01-12', 1500);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(5, '2011-12-12', '2012-01-12', 1200);

INSERT INTO k_bill

(k_contract_contract_num, bill_date, bill_term, bill_sum)

VALUES(5, '2012-01-12', '2012-02-12', 10000);
SELECT * FROM k_bill;

И остальные таблицы:
SELECT * FROM k_payment;

SELECT * FROM k_price;


'У' означает услугу, 'Т' – товар.
SELECT * FROM k_protokol;

Кроме команды добавления данных INSERT, есть полезные команды изменения данных UPDATE и удаления данных DELETE.
Формат команды UPDATE:
UPDATE [INTO] ИмяТаблицы SET ИмяСтолбца=НовоеЗначение

[WHERE Условие];
Квадратные скобки означают необязательную часть команды. Если условия нет, то изменяются ВСЕ строки заданной таблицы.
Применим эту команду на практике. Если вы обратили внимание, в таблице Отдел остался незаполненным столбец k_staff_staff_num, означающий номер сотрудника – руководителя отдела.

UPDATE k_dept SET k_staff_staff_num=2

WHERE dept_short_name='Mart';

UPDATE k_dept SET k_staff_staff_num=3

WHERE dept_short_name='Cust';

UPDATE k_dept SET k_staff_staff_num=1

WHERE dept_short_name='Sales';
Результат:


Формат команды DELETE:

DELETE [FROM] имя_таблицы [WHERE условие];

Квадратные скобки означают необязательную часть команды. Если условия нет, то удаляются ВСЕ строки заданной таблицы.

Пример: удаляем фирму с номером 5:

DELETE FROM k_firm WHERE firm_num=5;

Результат успешный. А что будет, если попробовать удалить фирму с номером 1? У этой фирмы есть подчиненные строки в таблице Договор.

Ошибка:

Error Code 1451

Cannot delete or update a parent row: a foreign key constraint fails (`kontora`, `k_contract`, CONSTRAINT `fk_contract_k_firm` FOREIGN KEY (`k_firm_firm_num`) REFERENCES `k_firm` (`firm_num`) …

2-ой способ заполнения базы данных – используем визуальные средства
Чтобы заполнять базу данных с помощью визуальных средств, в окне сервера нужно дваждыщелкнуть по нужной таблице (или выполнить команду EDIT ИмяТаблицы). Откроется окно редактирования, в котором можно изменять и добавлять данные. Не забывайте сохранять изменения нажатием на кнопку «галочка»!


Этот способ добавления данных очень легкий – проблема возникает только при необходимости переноса данных на другой компьютер. Простых путей для копирования данных нет. Можно использовать выгрузку в текстовые файлы.
3-ий способ заполнения базы данных – данные хранятся в EER-модели
Без этого способа заполнения можно вполне обойтись, но для полноты картины расскажем о нем тоже.

Для применения этого способа придётся вернуться на шаг назад и открыть EER-диаграмму.

Как вы помните, если в диаграмме дваждыщелкнуть по имени таблицы, то открывается окно ее свойств:

При разработке структуры таблицы мы использовали вкладку Columns. Теперь переключимся на вкладку Inserts и заполним данные в таблице.

НомерФирмы можем не заполнять, у него есть свойство Auto Increment. Телефон мы тоже не заполнили, он необязательный. После заполнения данных не забудьте нажать на кнопку «галочка», чтобы сохранились изменения в модели.
При использовании этого способа есть очень существенная проблема. При заполнении таблиц не проверяются никакие ограничения, ни на типы полей, ни на внешние ключи. Поэтому очень легко сделать ошибку.
Этот режим работы похож на предыдущий способ заполнения базы данных, но у него есть очень важное отличие! Заполненные таким образом данные хранятся только в EER-модели, на стороне сервера их нет. Для того чтобы данные появились на стороне сервера, нужно заново выполнить генерацию базы данных из EER-модели, как во втором задании. При этом обязательно нужно отметить флажок Generate INSERT Statements for Tables:

В этот момент проявят себя все ранее сделанные ошибки при вводе данных.

Разумеется, при этом старая база данных удаляется, вместе со всеми ранее введенными данными.
Задание. Заполните вашу базу данных. В каждой таблице создайте по несколько строк.
Дополнительная информация. Подробнее о SQL-командах модификации данных можно почитать в [3, Глава 5], [1, Глава 2, параграф 2.4] .

Похожие:

3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Инструкция по установке и работе с программой заполнение базы данных
В настоящем документе представлена краткая инструкция пользователю по установке и работе с программой Заполнение базы данных студентов...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Пояснительная записка Студент
Организация данных. Sql дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Пояснительная записка Студент
Организация данных. Sql дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Аис поз
Установка. Обновление версии. Резервное копирование базы данных. Восстановление базы данных. 5
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Лекция Язык sql 46 вставка одного запроса внутрь другого 68 как работает...
Эти базы данных создаются и функционируют под управлением специальных программных комплексов, называемых системами управления базами...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Пер с англ. — М. Издательский
Архитектура системы баз данных 65 Глава Введение в реляционные базы данных 92
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Лабораторная работа №1: Создание баз данных
В этой утилите можно выполнить типовые задачи обслуживания баз данных, такие как резервирование и восстановление. Здесь можно настраивать...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Методические указания для выполнения лабораторных работ и «Базы данных»
Лабораторная работа №1 «Организация хранения данных в субд ms access»
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Инструкция по конвертированию данных из формата seed в формат wsg (или css 0)
Занесите параметры используемых станций в базу данных wsg. Для этого воспользуйтесь утилитой SetSta (SetStationParam)
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Инструкция по конвертированию данных из формата seed в формат wsg (или css 0)
Занесите параметры используемых станций в базу данных wsg. Для этого воспользуйтесь утилитой SetSta (SetStationParam)
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Windows Банк Клиент Инструкция по переходу на версию 1
Для перехода на версию 1 с предыдущих версий системы Банк-Клиент нужно сначала выполнить установку новой версии с созданием пустой...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Инструкция по обновлению фк цз
Фк цз в администрирование, в авторизации набрать admin, пароль hcadmin. В главном меню выбрать «Операции» – «Резервное копирование...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Для выполнения обновления программы самсон-виста необходимо: Необходимо...
Необходимо скачать обновления базы данных в формате sql (*. sql) и обновление программы (*. exe)
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon О защите персональных данных информационной системы персональных данных
Оператор – Государственное учреждение – Новосибирское региональное отделение Фонда социального страхования Российской Федерации осуществляющее...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Тема: Изучение языка Transact sql. Модификация данных
Представление может с одной стороны упростить, а с другой ограничить доступ к данным. На данном занятии вы поймете все тонкости работы...
3. Заполнение базы данных, модификация данных На предыдущем этапе мы создали базу данных. Теперь будем ее заполнять данными. Подключимся к серверу, в секции icon Многокритериальный выбор оптимальной системы управления базы данных...
Одной из главных проблем разработки приложения баз данных является выбор системы управления базами данных (далее субд). Выбранная...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск