Базы данных
Методические указания к
самостоятельным работам для студентов II курса,
обучающимся по направлению подготовки бакалавров
230400 Информационные системы и технологии
профиль подготовки Информационные системы и технологии
Брянск 2013 г.
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Брянская государственная инженерно-технологическая академия»
Кафедра информационных технологий
Утверждены научно-методическим
советом БГИТА
протокол №_ от «__»______ года
Базы данных
Методические указания к
самостоятельным работам для студентов II курса,
обучающимся по направлению подготовки бакалавров
230400 Информационные системы и технологии
профиль подготовки Информационные системы и технологии
Брянск 2013г.
УДК
Базы данных: Методические указания самостоятельным работам для студентов II курса, направление подготовки бакалавров 230400 Информационные системы и технологии, профиль подготовки Информационные системы и технологии / Брянск. гос. технол. акад. Сост. Е.Г. Рыжикова– Брянск: БГИТА, 2013.
Даны методические указания к самостоятельным работам по базам данных для студентов, обучающимся по направлениям подготовки бакалавров 230400 Информационные системы и технологии, профиль подготовки Информационные системы и технологии.
Рецензент
К.т.н., доцент БОИУБ Бойко Е.И.
Рекомендованы редакционно-издательской и методической комиссиями механико-технологического факультета БГИТА.
Протокол № __от _______ 2013 г
Содержание
Введение. 5
Работа с БД.. 6
Создание таблиц БД.. 6
Работа с таблицами. 8
Выполнение запросов. 9
Сортировка результатов запросов. 9
Операторы условия для работы со строками. 10
Операторы соединения. 10
Ограничение размера результата. 11
Обновление данных. 12
Удаление данных. 12
Модификация структуры таблиц. 13
Функции MYSQL. 14
Функции для работы с текстом. 14
Агрегатные функции. 15
Функции для работы с числами. 16
Список литературы.. 17
Введение
В основе любой автоматизированной системы предприятия лежит база данных. Базы данных - совокупность данных, организованная по определенным правилам, предусматривающая общие принципы описания, хранения, манипулирования данными, независимыми от прикладных программ. СУБД – система управления базами данных – совокупность программ, предназначенных для управления БД и получения пользователями необходимой информации из неё.
Одной из ведущих СУБД является MySql. С её помощью происходит создание БД, заполнение её информацией, формирование запросов. Для облегчения работы с БД, для неё, с помощью специальных программных средств пишется интерфейс.
У студентов важно развить навыки применения специализированных программ для проектирования, разработки, внедрения и использования баз данных в различных предметных областях, что обуславливает актуальность разработанных методических указаний.
В данных методических указаниях приведены основные теоретические сведения по созданию БД, таблиц, запросов, использованию встроенных функций MySQL, приведены примеры выполнения заданий.
Работа с БД
Создать БД: mysql> CREATE DATABASE имя_БД;
Сделать БД текущей: mysql> USE имя_БД;
В результате появится сообщение: Database changed
Просмотр содержимого БД: mysql> SHOW TABLES;
Если БД не содержит таблиц, то на экране появится сообщение: Empty set (0.00 sec)
Закрытие файлов текущей базы данных: mysql> close database имя_бд
Удаление базы данных: mysql> drop databas e имя_бд
Задание 1. Создайте базу данных «Магазин», сделайте её текущей.
Выполнение:
mysql> CREATE DATABASE Magazin;
mysql> USE Magazin;
Создание таблиц БД
Создание таблиц:
mysql> CREATE TABLE имя_таблицы (имя_поля1 тип, имя_поля2 тип,….)
При создании таблицы, в круглых скобках, после имени поля, указывается его тип, за которым могут следовать атрибуты.
Ключевое поле в имени содержит id.
PRIMARY KEY – атрибут определения первичного ключа. Поле, для которого он указан, не должно содержать повторяющихся значений.
NOT NULL – означает, что все записи в поле должны содержать значения.
NULL – допускает наличие в поле пустых значений.
Для поля можно создавать индексы, для этого при создании таблицы, после перечня всех полей со свойствами и атрибутами, в круглых скобках, запишите
KEY имя_индекса (имя_поля) или INDEX имя_индекса (имя_поля).
Атрибут AUTO_INCREMENT указывается только для полей с числовыми типами, он автоматически создаёт уникальный индекс. Для поля с названным атрибутом, обязательно должен быть определён индекс.
Просмотр структуры таблицы: mysql> DESCRIBE имя_таблицы
Задание 2. Создайте таблицы Консультанты и Товары, следующей структуры.
Выполнение:
Konsultant
Id_FIO VARCHAR (20) PRIMARY KEY | DR DATE | PRIEM DATE NOT NULL | TOVAR VARCHAR (15) NOT NULL | ZP FLOAT(8,2) |
Афонина О.П. | 12.01.1980 | 12.01.1999 | фен | |
Алёхина Н.В. | 14.01.1975 | 01.05.1999 | соковыжималка | |
Боров О.В. | 24.05.1991 | 09.03.2000 | пылесос | |
Воронина А.А. | 01.05.1983 | 05.06.2005 | холодильник | |
Ершов А.В. | 02.04.1977 | 07.06.2004 | холодильник | |
Климов К.А. | 03.06.1990 | 01.12.2007 | телевизор | |
Литвинова Л.А. | 30.12.1980 | 03.04.2010 | обогреватели | |
Смирнова Л.И. | 23.01.1975 | 30.09.2010 | холодильник | |
Тимуров В.П. | 17.09.1991 | 11.12.2008 | телевизор |
mysql> CREATE TABLE Konsultant (id_FIO VARCHAR (20) PRIMARY KEY, DR DATE, PRIEM DATE NOT NULL, TOVAR VARCHAR (15) NOT NULL, ZP FLOAT(8,2));
TOVAR
ID_TOVAR VARCHAR (15) PRIMARY KEY | Cena FLOAT(8,2) AUTO_INCREMENT | KOL_V_MAG INT(4) NULL | GARANT FLOAT(3,1) | SKIDKA_PROC FLOAT(3,1) NULL |
фен | ||||
соковыжималка | ||||
пылесос | ||||
холодильник | 1,5 | |||
телевизор | ||||
обогреватели | 2,5 |
mysql> CREATE TABLE TOVAR(id_TOVAR VARCHAR (15) PRIMARY KEY, Cena FLOAT(8,2) AUTO_INCREMENT, KOL_V_MAG INT(4) NULL, GARANT FLOAT(3,1), SKIDKA_PROC FLOAT(3,1) NULL, KEY Cena(Cena));
Работа с таблицами
Заполнение данными
mysql> INSERT INTO имя_таблицы
-> VALUES ('значение поля 1', 'значение поля 1',….);
Многострочный ввод данных:
mysql> INSERT INTO имя_таблицы VALUES ('значение поля 1', 'значение поля 1',….),-> 'значение поля 1', 'значение поля 1',….),-> ('значение поля 1', 'значение поля 1',….); Ввод значений в таблицу из файла.Создайте текстовый файл (txt), содержащий по одной записи в каждой строке (значения столбцов должны быть разделены символами табуляции и даны в том порядке, который был определен командой CREATE TABLE).
Загрузить файл в таблицу можно с помощью следующей команды:
mysql> LOAD DATA LOCAL INFILE "имя_файла.txt " INTO TABLE имя_таблицы; Просмотр содержимого всей таблицы: mysql> SELECT * FROM имя_таблицы;Удаление таблицы: mysql> drop table имя_таблицы.
Задание 3. Заполните таблицы Консультанты и Сотрудники данными.
Выполнение:
Таблица Консультанты
mysql> INSERT INTO Konsultant VALUES(‘Афонина О.П.’, ‘1980-01-12’, ‘1999-01-12’, ‘фен’, 10000),->(‘Алёхина Н.В.’, ‘1975-01-14’, ‘1999-05-01’, ‘соковыжималка’,12000),->(‘Боров О.В.’, ‘1991-05-24’, ‘2000-03-09’, ‘пылесос’, 8000),-> (‘Воронина А.А.’, ‘1983-05-01’, ‘2005-06-05’, ‘холодильник’, 7000),->(‘Ершов А.В.’, ‘1977-04-02’, ‘2004-06-07’, ‘холодильник’, 12000),->(‘Климов К.А.’, ‘1990-06-03’, ‘2007-12-01’, ‘телевизор’,6000),->(‘Литвинова Л.А.’, ‘1980-12-30’, ‘2010-04-03’, ‘обогреватели’,10000),->(‘Смирнова Л.И.’, ‘1975-01-23’, ‘2010-09-30’, ‘холодильник’, 14000),->(‘Тимуров В.П.’, ‘1991-09-17’, ‘2008-12-11’, ‘телевизор’,10000);Просмотрите результат
mysql> SELECT * FROM Konsultant;
Таблица Товары
mysql> INSERT INTO Tovar VALUES (‘фен’, 1500, 10, 3, NULL),
->(‘соковыжималка’, 5000, 12, 2, NULL),
->(‘пылесос’, 10000, 15, 1,NULL),
->(‘холодильник’, 20000, 8, 1.5, NULL),
->(‘телевизор’, 35000, 15, 2, NULL),
->(‘обогреватели’, 3000, 20, 2.5,NULL);
Просмотрите результат
mysql> SELECT * FROM Tovar;
Выполнение запросов
Просмотр содержимого таблиц:
mysql> SELECT имена столбцов через запятую FROM USERS;
Отбор данных в соответствии с условиями:
mysql> SELECT * FROM имя_таблицы
->WHERE имя_поля=’значение’;
IN – оператор, позволяющий определить значения, принадлежащие заданному множеству.
NOT IN – определяет значения, не принадлежащие заданному множеству.
Сортировка результатов запросов
ORDER BY – сортировка значений столбца по возрастанию,
ORDER BY имя_поля DESC - сортировка значений поля по убыванию.
Сортировку можно выполнять по нескольким полям.
Задание 4.
4.1. Из таблицы Консультанты выберите все сведения о телевизорах.
4.2. Из таблицы Консультанты выберите сведения о консультантах, принятых на работу позже 2000 г. и получающих заработную плату боле 10000р.
4.3. Из таблицыТовары выберите сведения о товарах, заказанных в количестве больше 14 и по цене больше 8000р. или о товарах, по цене меньше 10000 с гарантией не больше 2,5 лет.
4.4. Из таблицы Консультанты выберите все сведения о телевизорах и холодильниках.
4.5. Из таблицы Консультанты выберите сведения о всех товарах, за исключением фена, пылесоса, телевизора.
4.6. Из таблицы Товары выберите сведения о товарах с ценой не меньше 10000р.Результат отсортируйте по возрастанию поля Товар.
4.7. Из таблицы Товары выберите сведения о товарах с гарантией больше 1,5 лет.Результат отсортируйте по убыванию поля Гарантия.
4.8. Выведите все сведения из таблицы Консультанты, упорядочив по убыванию дат рождения и заработной платы.
Выполнение:
4.1. mysql> SELECT * FROM Konsultant WHERE tovar =’телевизор’;
4. 2. mysql> SELECT * FROM Konsultant WHERE priem > ‘2000-12-31’ and zp>10000;
4.3. mysql> SELECT * FROM Tovar WHERE (kol_v_mag >14 and cena> 8000) or (cena<10000 and garant <=2.5);
4.4. mysql> SELECT * FROM Konsultant WHERE tovar in (‘телевизор’, ‘холодильник’);
4.5. mysql> SELECT * FROM Konsultant WHERE tovar not in (‘телевизор’, ‘пылесос’, ‘фен’);
4.6. mysql> SELECT * FROM Tovar WHERE cena > =10000 ORDER BY id_tovar;
4.7. mysql> SELECT * FROM Tovar WHERE garant > 1.5 ORDER BY garant DESC;
4.8. mysql> SELECT * FROM Konsultant ORDER BY dr, zp DESC;