Файл: Программа среднего профессионального образования Право и организация социального обеспечения Дисциплина информатика Практическое задание 5.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.10.2023

Просмотров: 66

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.



Программа среднего профессионального образования

Право и организация социального обеспечения

Дисциплина: информатика

Практическое задание № 5
Выполнил:

Юдин Василий

Задание №1

Дана база данных библиотеки, состоящая из двух связанных таблиц «Читатели» и «Выданные книги». Поле «Номер читателя» таблицы «Читатели» соответствует полю «Номер читателя» таблицы «Выданные книги».

Таблица «Читатели»

Номер читателя

ФИО читателя

Номер читательского билета

Дата выдачи читательского билета

Флаг активности читателя

1

Иванова Алиса Петровна

БЧ023023

2002-01-15

1

2

Петрова Ксения Валерьевна

БЧ132334

2022-01-16

1

3

Светлова Юлия Львовна

БЧ232341

2022-03-21

1

4

Кузнецов Дмитрий Петрович

БЧ134008

2020-12-06

1

5

Николаев Виктор Викторович

БЧ155664

2021-01-19

1

6

Львов Игорь Викторович

БЧ456752

2012-03-16

1

7

Горный Михаил Сергеевич

БЧ675253

2001-11-17

1

8

Симонов Денис Викторович

БЧ155500

2021-07-08

0

9

Амирова Зульхия Эмировна

БЧ213353

2012-03-22

1





п/п



Название книги

Инв.
номер
книги



Номер
читателя


Дата
выдачи
книги



Дата возврата книги


1


Основы проектирования, строительства, эксплуатации зданий и сооружений


КМ392452



1




2021-11-11




2021-12-16


2

Дискретная математика

КМ392888

2


2022-03-18



3

Методология научных исследований 2-е изд., пер. и доп. Учебник для бакалавриата и магистратуры

КМ394756

7

2020-09-11

2020-12-11

4

Нейропсихология. Учебник для вузов

КМ394235

3

2022-11-19




5

Введение в профессию: психолог 7-е изд, пер. и доп. Учебник и практикум для вузов

КМ394378

5

2022-11-21

2022-11-28

6

Введение в корпусную лингвистику: Учебное пособие для студентов филологических и лингвистических специальностей университетов

КМ392211

5

2022-11-03

2022-11-29

7

История международных отношений. Учебник и практикум для академического бакалавриата

КМ393243

6

2022-12-27




8

Банковское дело. Учебник для вузов

КМ396758

7

2023-01-18




9


Медицинская и судебная психология

КМ393240

9

2022-04-11

2022-06-22


Таблица «Выданные книги»


Ответить на вопросы:


1)     Сколько книг выдано в библиотеке читателям в декабре 2022 года? Перечислите их названия.
1 книга. История международных отношений. Учебник и практикум для академического бакалавриата.

2)     Кто из читателей брал книги в библиотеке до 1 января 2022 года? Укажите его/их ФИО.
Иванова Алиса Петровна, Горный Михаил Сергеевич

3)     Сколько книг было выдано в библиотеке читателям в 2022 году?
6 книг

4)     Сколько книг находится на руках у читателей на 1 января 2023 года?
4 книги

5)     Кто из читателей брал несколько книг в библиотеке в 2022 году? Укажите его/их ФИО.
2 книги. Николаев Виктор Викторович
Задание №2

Изучите и составьте сводный отчёт (не более 3 страниц А4), описывающий операторы CREATE TABLE, INSERT, UPDATE и DELETE системы управления базами данных MySQL. См. ссылку: http://www.mysql.ru/docs/man/Creating_tables.html

1. Оператор CREATE TABLE. Создание таблицы. Общая форма

Таблица является основным элементом любой реляционной базы данных. Вся необходимая информация, которая должна храниться в базе данных, размещается в таблицах. Таблицы могут быть связаны между собой. Количество таблиц в базе данных не ограничено и зависит от сложности решаемой задачи.

Для создания таблицы в языке SQL используется оператор CREATE TABLE. В простейшем случае общая форма оператора CREATE TABLE следующая

CREATE TABLE Table_Name (
Field_Name_1 Type_1,
Field_Name_2 Type_2,
...
Field_Name_N Type_N

Table_Name – имя таблицы базы данных. Если в базе данных есть таблица с таким именем, то возникнет ошибка;

Field_Name_1, Field_Name_2, Field_Name_N – имена полей (столбцов) таблицы базы данных. Имя каждого поля должно быть уникальным. В разных таблицах имена полей могут совпадать;

Type_1, Type_2, Type_N – соответственно типы полей Field_Name_1, Field_Name_2, Field_Name_N такие как INTEGER, DECIMAL, DATE и другие.

На поля Field_Name_1, Field_Name_2, Field_Name_N могут накладываться ограничения. Каждое ограничение указывается после имени поля. В этом случае общая форма оператора CREATE TABLE выглядит примерно следующим образом:

CREATE TABLE Table_Name (
Field_Name_1 Type_1 Attribute_1,
Field_Name_2 Type_2 Attribute_2,
...
Field_Name_N Type_N Attribute_N

Attribute_1, Attribute_2, Attribute_N – ограничения, накладываемые на поля Field_Name_1, Field_Name_2, Field_Name_N. Ограничения задаются одним из возможных слов: NULL, NOT NULL, UNIQUE, CHECK, PRIMARY KEY, FOREIGN KEY и других.




Оператор INSERT вставляет новые строки в существующую таблицу. Оператор имеет несколько форм. Параметр имя_таблицы во всех этих формах задает таблицу, в которую должны быть внесены строки. Столбцы, для которых задаются значения, указываются в списке имен столбцов ( имя_столбца ) или в части SET.

Синтаксис:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] имя_таблицы [(имя_столбца,...)]
VALUES (выражение,...),(...),...

Эта форма команды INSERT вставляет строки в соответствии с точно указанными в команде значениями. В скобках после имени таблицы перечисляются столбцы, а после ключевого слова VALUES – их значения.

Например:

mysql> INSERT INTO Persons

(last_name, bday) VALUES

('Иванов', '1934')


[INTO] имя_таблицы [(имя_столбца,...)]

SELECT ...

Эта форма команды INSERT вставляет строки, выбранные из другой таблицы или таблиц.

Например:

mysql> INSERT INTO Artifacts (author)

SELECT id FROM Persons

WHERE last_name='Иванов'

AND bday='1934';

вставит в таблицу Artifacts в поле "автор" ( author ) значение идентификатора, выбранного из таблицы Persons по условию, что фамилия человека Иванов и год рождения 1934.

[INTO] имя_таблицы

SET имя_столбца=выражение,
имя_столбца=выражение, ...

Например:

mysql> INSERT INTO Persons

SET last_name='Петров',

first_name='Иван';

Эта команда вставит в таблицу Persons в поле last_name значение "Петров", а в поле first_name – строку "Иван".

Форма INSERT... VALUES со списком из нескольких значений поддерживается в версии MySQL 3.22.5 и более поздних. Синтаксис выражения имя_столбца=выражение поддерживается в версии MySQL 3.22.10 и более поздних.

Действуют следующие соглашения.

Если не указан список столбцов для INSERT... VALUES или INSERT... SELECT , то величины для всех столбцов должны быть определены в списке VALUES() или в результате работы SELECT . Если порядок столбцов в таблице неизвестен, для его получения можно использовать DESCRIBE имя таблицы.

Любой столбец, для которого явно не указано значение, будет установлен в свое значение по умолчанию. Например, если в заданном списке столбцов не указаны все столбцы в данной таблице, то не упомянутые столбцы устанавливаются в свои значения по умолчанию.
Оператор UPDATE

Синтаксис:

UPDATE [LOW_PRIORITY] [IGNORE] имя_таблицы

SET имя_столбца1=выражение1

[, имя_столбца2=выражение2, ...]

[WHERE where_definition]

[LIMIT число]

Оператор UPDATE обновляет значения существующих столбцов таблицы в соответствии с введенными значениями. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке.


Если указывается ключевое слово LOW_PRIORITY, то выполнение данной команды UPDATE задерживается до тех пор, пока другие клиенты не завершат чтение этой таблицы.

Если указывается ключевое слово IGNORE, то команда обновления не будет прервана, даже если возникнет ошибка дублирования ключей. Строки, из-за которых возникают конфликтные ситуации, обновлены не будут.

Если в выражении, которое задает новое значение столбца, используется имя этого поля, то команда UPDATE использует для этого столбца его текущее значение. Например, следующая команда устанавливает столбец death_date в значение, на единицу большее его текущей величины:

mysql> UPDATE Persons

SET death_date=death_date+1;

В версии MySQL 3.23 можно использовать параметр LIMIT #, чтобы убедиться, что было изменено только заданное количество строк.

Например, такая операция заменит в первой строке нашей таблицы экспонатов название title на строку "Ламповая ЭВМ":

mysql> UPDATE Artifacts

SET title='Ламповая ЭВМ' Limit 1;

Оператор DELETE

Оператор DELETE удаляет из таблицы имя_таблицы строки, удовлетворяющие заданным в where_definition условиям, и возвращает число удаленных записей.

Если оператор DELETE запускается без определения WHERE, то удаляются все строки.

Синтаксис:

DELETE [LOW_PRIORITY] FROM имя_таблицы

[WHERE where_definition]

[LIMIT rows]

Например, следующая команда удалит из таблицы Persons все записи, у которых поле "год рождения" ( bday ) больше 2003:

mysql> DELETE FROM Persons WHERE bday>2003;

Удалить все записи в таблице можно еще и с помощью такой команды:

mysql> DELETE FROM Persons WHERE 1>0;

Но этот метод работает гораздо медленнее, чем использование той же команды без условия:

mysql> DELETE FROM Persons;

Специфическая для MySQL опция LIMIT для команды DELETE указывает серверу максимальное количество строк, которые следует удалить до возврата управления клиенту. Эта опция может использоваться для гарантии того, что данная команда DELETE не потребует слишком много времени для выполнения.