Вводная
Ознакомиться с возможностями СУБД MySQL и создать с его помощью базу данных, набор таблиц в ней и заполнить таблицы данными для последующей работы.
Изучить набор команд языка SQL, связанный с созданием базы данных, созданием, модификацией структуры таблиц и их удалением, вставкой, модификацией и удалением записей таблиц.
Содержание работы и методические указания к ее выполнению
Команды
- create database DB_name создание базы данных
- Use database выбор существующей базы данных
- close database закрытие файлов текущей базы данных
- drop database удаление базы данных
- create table создание таблицы базы данных
- alter table модификация структуры базы данных
- drop table удаление таблицы базы данных
- insert добавление одной или нескольких строк в таблицу
- delete удаление одной или нескольких строк из таблицы
- update модификация одной или нескольких строк таблицы
- LOAD DATA INFILE загрузка данных в таблицы из файла
Создать базу данных.
Создание базы данных в MySQL производится с помощью утилиты mysqladmin. Изначально существует только БД mysql для администратора и БД test, в которую может войти любой пользователь и которая по умолчанию пуста. Приведенный ниже пример иллюстрирует создание базы данных.
Где data_name – имя создаваемой БД. Проверить, что БД создана можно ранее рассмотренной командой Show databases или утилитой mysqlshow.
По умолчанию, root имеет доступ ко всем базам данных и таблицам. Перейти в созданную базу данных можно, используя команду mysql Use database. Или, находясь в другой базе данных, например в mysql ввести команду: Создать базу данных можно непосредственно находясь в клиентском приложении MySQL, вводом команды: Где Base_name имя создаваемой базы данных. В созданной базе можно создавать таблицы и вводить информацию. Указанные операции можно выполнить, используя специализированное программное обеспечение, например MySQL-Front, Mysql Workbench или SQLyog.
- Имя;
- Хост;
- Пароль;
- Порт;
- Имя БД (при необходимости).
После задания активной БД можно с помощью средств, предоставляемых программой изменять структуру БД, вводить данные, задавать ключевые поля. Помимо этого можно в специально отведенном окне напрямую вводить инструкции, используя синтаксис языка SQL.
Средствами языка SQL необходимо создать четыре таблицы в базе данных
- поля номер_поставщика, номер_детали, номер_изделия во всех таблицах имеет тип INTEGER
- поля рейтинг, вес и количество имеют целочисленный тип (integer);
- поля фамилия, город (поставщика, детали или изделия), название (детали или изделия) имеют символьный тип и длину 20 (varchar(20));
Обеспечить ссылочную целостность вашей базы данных при помощи FOREIGN KEY
Ссылочная целостность—это состояние реляционной базы данных в которой записи не могут ссылаться на несуществующие записи в этой базе данных.
FOREIGN KEY—особый вид ограничения(constraint) MySQL, которое позволяет предотвратить нарушение ссылочной целостности при удалении/изменении информации в таблицах предках. Поддержка FOREIGN KEY поддерживается только для таблиц типа InnoDB
Пример нарушения ссылочной целостности
Пусть существуют две таблицы. Catalogs, являющаяся таблицей-предком, содержащие в себе упоминания о категориях товаров в интернет магазине и таблица products являющаяся таблицей-потомком, со всеми товарами этого магазина
При удалении категории из таблицы catalogs, в таблице products останутся товары которые не привязаны ни к одной из категорий, что может повлечь массу проблем для магазина.
Это явление называется нарушением ссылочной целостности
На ссылочную целостность базы данных как правило оказывают четыре типа изменений:
- Добавление новой записи в таблице-потомке. Например добавление новой товарной позиции в таблицу products. Важно заметить что важную роль играет изменение именно таблицы-потомка, т.к изменение таблицы-предка (catalogs) не приведет к нарушению ссылочной целостности, т.к наличие пустой категории товаров допустимо
- Обновление внешнего ключа в таблице-потомке. Эта ситуация похожа на первую и может произойти при изменении у товара ссылки на несуществующий раздел каталога, например товар с id_catalog равным 50
- Удаление записи из таблицы-предка. Эта ситуация рассмотрена выше.
- Изменение записи в таблице-предке. Эта ситуация отличается от рассмотренной выше тем что категория каталога не удаляется а принимает новый id
Обработка изменений при помощи FOREIGN KEY
Для того что бы контролировать ссылочную целостность в базе данных необходимо что бы таблицы были связаны при помощи конструкции FOREIGN KEY, которая имеет вид:
FOREIGN KEY — используется при создании/изменении таблиц-потомков таблицах. В рамках данной статьи FOREIGN KEY, следует использовать в таблице products. Данная конструкция позволяет задать в таблице-потомке внешний ключ с именем index_name на столбцах таблицы которые перечисляется в круглых скобках. Можно использовать один или несколько столбцов.
Ключевое слово REFERENCES задаёт таблицу-предка tbl_name на которую будет ссылаться внешний ключ. Поля таблицы-предка задаются в круглых скобках, один или несколько.
Необязательные конструкции ON DELETE и ON UPDATE, определяют поведение MySQL при удалении/обновлении записей из таблицы-предка.
Допустимые параметры для ключевых слов ON DELETE и ON UPDATE:
- RESTRICT — Если в таблице-потомке существуют записи ссылающиеся на первичный ключ таблицы-предка то при удалении или обновлении записей с этим первичным ключом в таблице предке, будет возвращена ошибка. Ошибка будет возвращаться до тех пор пока не останется ни одной ссылки в таблице потомке. В MySQL данный параметр означает то же самое что и NO ACTION
- CASCADE — При удалении/обновлении записей в таблице-предке, будут так же обновлены/удалены записи из таблицы-потомка с существующим первичным ключом
- SET NULL — При удалении/обновлении записей в таблице-предке, записи из таблицы-потомка с существующим первичным ключом будут обновлены на NULL
- NO ACTION — При удалении/обновлении записей в таблице-предке, записи из таблицы-потомка с существующим первичным ключом изменены не будут. В MySQL данный параметр означает то же самое что и RESTRICT
- SET DEFAULT — Это действие зарезервировано но не обрабатывается в InnoDB
Добавление для таблицы products из примера статьи конструкции:
приведет к тому что изменения таблицы catalogs приведет к автоматическому изменению таблицы products.
Загрузка данных вручную
Загрузить данные из текстового файла
- REPLACE В SQL запросе означает, что необходимо замещать записи с совпадающими значениями ключей.
- INTO TABLE указывает имя таблицы, куда будут импортированы данные.
- FIELDS TERMINATED BY ‘;’ указывает разделители полей, порядок полей должен быть таким же, как и в таблице назначения,
- OPTIONALLY ENCLOSED BY ‘\»‘ указывает, что поля VARCHAR взяты в двойные кавычки
- LINES TERMINATED BY ‘\r’ указывает разделители строк.
Программно
Данные для создания базы
Таблица поставщиков (shippers aka S)
| Hомеp поставщика | Фамилия | Рейтинг | Город |
| 1 | Смит | 20 | Лондон |
| 2 | Джонс | 10 | Париж |
| 3 | Блейк | 30 | Париж |
| 4 | Кларк | 20 | Лондон |
| 5 | Адамс | 30 | Афины |
Таблица деталей (details aka P)
| Номер детали | Название | Цвет | Вес | Город |
| 1 | Гайка | Красный | 12 | Лондон |
| 2 | Болт | Зеленый | 17 | Париж |
| 3 | Винт | Голубой | 17 | Рим |
| 4 | Винт | Красный | 14 | Лондон |
| 5 | Кулачок | Голубой | 12 | Париж |
| 6 | Блюм | Красный | 19 | Лондон |
Таблица изделий (products aka J)
| Номер изделия | Название | Город |
| 1 | Жесткий диск | Париж |
| 2 | Перфоратор | Рим |
| 3 | Считыватель | Афины |
| 4 | Принтер | Афины |
| 5 | Флоппи-диск | Лондон |
| 6 | Терминал | Осло |
| 7 | Лента | Лондон |
Таблица поставок (supplies aka SPJ)
| Номер поставщика | Номер детали | Номер изделия | Количество |
| 1 | 1 | 1 | 200 |
| 1 | 1 | 4 | 700 |
| 2 | 3 | 1 | 400 |
| 2 | 3 | 2 | 200 |
| 2 | 3 | 3 | 200 |
| 2 | 3 | 4 | 500 |
| 2 | 3 | 5 | 600 |
| 2 | 3 | 6 | 400 |
| 2 | 3 | 7 | 800 |
| 2 | 5 | 2 | 100 |
| 3 | 3 | 1 | 200 |
| 3 | 4 | 2 | 500 |
| 4 | 6 | 3 | 300 |
| 4 | 6 | 7 | 300 |
| 5 | 2 | 2 | 200 |
| 5 | 2 | 4 | 100 |
| 5 | 5 | 5 | 500 |
| 5 | 5 | 7 | 100 |
| 5 | 6 | 2 | 200 |
| 5 | 1 | 4 | 100 |
| 5 | 3 | 4 | 200 |
| 5 | 4 | 4 | 800 |
| 5 | 5 | 4 | 400 |
| 5 | 6 | 4 | 500 |
Завершение работы
5. Выполнить модификацию структуры таблицы supplies (SPJ), добавив поле с датой поставки. Убедиться в успешности выполненных действий. При необходимости исправить ошибки (команда Alter table).
6. Уничтожить созданные таблицы, предварительно сохранив инструкции для восстановления структуры БД и информационного наполнения, используя средства работы СУБД. Убедиться в успешности выполненных действий.
7. Выполнить необходимые действия, написав и выполнив соответствующие запросы для модификации таблиц, чтобы структура соответствовала концептуальной модели учебной базы данных (рисунок ниже). Убедиться в успешности выполненных действий. При необходимости исправить ошибки.

Проверить результат заполнения таблиц, написав и выполнив простейший запрос:
При наличии ошибок выполнить корректировку, исправив либо удалив ошибочные строки таблиц
What is the ‘Database’ and ‘ Table’?
‘Database’ is the place where you save the information, and the ‘Table’ is where you can actually organize the information.
According to my teacher, you can think of database as your room and the table is like your wardrobe. if you try to put all your cloths in the room without organizing, the room would get so messy, that’s the when you need a wardrobe, so you can organize the cloths by its type or use. In MySQL, cloths will be the information!
1. Create and show database
First, let’s see what kind of database you already have. When you type
show databases; in MySQL, you will see this.
means, I already have 3 databases(database1, database2, database3) here.
Now let’s create a new database. Let’s name our database as ‘kim’. This time, you type create database kim;
Then again, type show databases;
Now we have our new database ‘kim’ in your databases.
2. Create Table & desc
I am going to make a table in the database named kim. So we have to type
use databaseName; and to see if there’s any column type show tables;
There’s nothing so you see empty.
So let’s create one. I am going to put id, name, phone, age in my table, and name my table ‘student’.
Next to the columns you’re seeing ‘varchar’ and ‘int’.
Varchar means the data type of its column is letters. And the numbers in the next to the varchar means it’s maximum length. So there’s id varchar(8) , It means if you put more than 8 letters in the id, there will be an error.
Int means the data type of its column is number. But as you can see phone column is also set with varchar. Isn’t the phone ‘number’ is number?
Why? It’s easy if you think int as the numbers that you can calculate. We are definitely not gonna subtract the phone numbers, so that’s why we use varchar here.
To see the result of what we’ve done, put desc databaseName.tableName;
There, we made these database and table very simply.
I posted ‘how to insert or select data and the where clause’, check out through the following link.
Как создать базу данных в среде SQL Server
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 15 человек(а).
Количество просмотров этой статьи: 43 909.
Базы данных SQL Server являются одними из наиболее распространенных баз данных, во многом благодаря тому, как легко их создавать и поддерживать. С программой с бесплатным графическим пользовательским интерфейсом (GUI), такой как SQL Server Management, вам не нужно беспокоиться об использовании командной строки. См. Шаг 1 ниже, чтобы создать базу данных и начать ввод информации в течение нескольких минут.
Начало работы с MS SQL Server
Базу данных часто отождествляют с набором таблиц, которые хранят данные. Но это не совсем так. Лучше сказать, что база данных представляет хранилище объектов. Основные из них:
Таблицы : хранят собственно данные
Представления (Views): выражения языка SQL, которые возвращают набор данных в виде таблицы
Хранимые процедуры : выполняют код на языке SQL по отношению к данным к БД (например, получает данные или изменяет их)
Функции : также код SQL, который выполняет определенную задачу
В SQL Server используется два типа баз данных: системные и пользовательские. Системные базы данных необходимы серверу SQL для корректной работы. А пользовательские базы данных создаются пользователями сервера и могут хранить любую произвольную информацию. Их можно изменять и удалять, создавать заново. Собственно это те базы данных, которые мы будем создавать и с которыми мы будем работать.
Системные базы данных
В MS SQL Server по умолчанию создается четыре системных баз данных:
master : эта главная база данных сервера, в случае ее отсутствия или повреждения сервер не сможет работать. Она хранит все используемые логины пользователей сервера, их роли, различные конфигурационные настройки, имена и информацию о базах данных, которые хранятся на сервере, а также ряд другой информации.
model : эта база данных представляет шаблон, на основе которого создаются другие базы данных. То есть когда мы создаем через SSMS свою бд, она создается как копия базы model.
msdb : хранит информацию о работе, выполняемой таким компонентом как планировщик SQL. Также она хранит информацию о бекапах баз данных.
tempdb : эта база данных используется как хранилище для временных объектов. Она заново пересоздается при каждом запуске сервера.
Все эти базы можно увидеть через SQL Server Management Studio в узле Databases -> System Databases :

Эти базы данных не следует изменять, за исключением бд model.
Если на этапе установки сервера был выбран и установлен компонент PolyBase, то также на сервере по умолчанию будут расположены еще три базы данных, которые используется этим компонентом: DWConfiguration, DWDiagnostics, DWQueue.
Создание базы данных в SQL Management Studio
Теперь создадим свою базу данных. Для этого мы можем использовать скрипт на языке SQL, либо все сделать с помощью графических средств в SQL Management Studio. В данном случае мы выберем второй способ. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на узел Databases . Затем в появившемся контекстном меню выберем пункт New Database :

После этого нам открывается окно для создания базы данных:

В поле Database необходимо ввести название новой бд. Пусть у нас база данных называется university .
Следующее поле Owner задает владельца базы данных. По умолчанию оно имеет значение <defult> , то есть владельцем будет тот, кто создает эту базу данных. Оставим это поле без изменений.
Далее идет таблица для установки общих настроек базы данных. Она содержит две строки — первая для установки настроек для главного файла, где будут храниться данные, и вторая строка для конфигурации файла логгирования. В частности, мы можем установить следующие настройки:
Logical Name : логическое имя, которое присваивается файлу базы данных.
File Type : есть несколько типов файлов, но, как правило, основная работа ведется с файлами данных (ROWS Data) и файлом лога (LOG)
Filegroup : обозначет группу файлов. Группа файлов может хранить множество файлов и может использоваться для разбиения базы данных на части для размещения в разных местах.
Initial Size (MB) : устанавливает начальный размер файлов при создании (фактический размер может отличаться от этого значения).
Autogrowth/Maxsize : при достижении базой данных начального размера SQL Server использует это значение для увеличения файла.
Path : каталог, где будут храниться базы данных.
File Name : непосредственное имя физического файла. Если оно не указано, то применяется логическое имя.
После ввода названия базы данных нажмем на кнопку ОК, и бд будет создана.
После этого она появится среди баз данных сервера. Если эта бд впоследствии не потребуется, то ее можно удалить, нажав на нее правой кнопкой мыши и выбрав в контекстном меню пункт Delete: