- •Создание базы данных «Программы»
- •Ягту 220301.65-015 лр
- •Задание:
- •1. Разработка структуры базы данных
- •1.1 Уточнение задания
- •1.2 Анализ предметной области, определение сущностей и взаимосвязей между ними
- •Структура сущностей:
- •1.3 Нормализация Первая нормальная форма требует:
- •1.4 Проектирование таблиц базы данных.
- •2. Реализация серверной части.
- •2.1 Создание таблиц.
- •2.2 Работа с данными.
- •3. Разработка клиентской части.
- •3.1. Описание клиентской части с точки зрения разработки.
- •3.2 Описание клиентской части с точки зрения пользователя.
2.2 Работа с данными.
Запросы SQL на заполнение таблиц данными выглядят следующим образом.
Заполнение данными таблицы AngPROGRAMMA:
Для заполнения таблицы сначала вводится команда INSERT INTO, затем название таблицы, которую будем заполнять данными. В скобках перечислим название всех полей таблицы.
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
Затем используется команда VALUES, где в скобках, в кавычках через запятую указываются значения полей:
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('WINDOWS','MICROSOFT','OC','MICROSOFT.RU')
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('STUDENT','TRIADA','game','TRIADA.RU')
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('MACINTOUCH','APPLE','OC','APPLE.RU')
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('DELPHI','BORLAND','PL','BORLAND.RU')
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('WEBCAMERA','TOSHIBA','camera','TOSHIBA.RU')
INSERT INTO AngPROGRAMMA (nazvanie,firma,tip,podderjka)
VALUES('NMAP','LINUX','SS','LINUX.RU')
Заполнение таблицы AngPROIZVODITEL:
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('MICROSOFT','USA',1234567)
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('TRIADA','Germany',7654321)
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('APPLE','ENGLAND',9876543)
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('BORLAND','USA',3456789)
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('TOSHIBA','Japan',5678900)
INSERT INTO AngPROIZVODITEL(firma,strana,svyaz)
VALUES('LINUX','USA',9119119)
Остальные таблицы заполняются аналогично.
Для изменения данных используется команда UPDATE, которая изменяет значения столбцов в таблице.
Пример 1:
Изменить дату выпуска путем увеличения на 2 только тех версий программ, стоимость которых меньше 10000 рублей.
UPDATE AngVERSIYA SET dataV=dataV+2
WHERE stoimost<10000
Пример 2:
Изменить язык программы на немецкий только тех программ, у которых хотя бы одно значение системных требований меньше 500.
UPDATE AngTEXNXARAKT SET yazik=german
WHERE znachenieSistTreb<500
Для удаления данных используется команда DELETE, которая удаляет значения столбцов в таблице.
Например:
Удаление данных тех программ, которые одновременно удовлетворяют двум условиям: версия программы меньше 5 и стоимость не превышает 8000.
DELETE FROM AngVERSIYA
WHERE versiya<5 AND stoimost<8000
Для выборки данных используется команда SELECT.
Пример 1:
Получить все сведения о программах, хранящихся в базе.
SELECT * FROM AngPROGRAMMA
Пример 2:
Получить названия программ, отсортированных по году выпуска.
SELECT nazvanie FROM AngVERSIYA
ORDER BY dataV
Пример 3:
Определить суммарную стоимость тех программ, которые выпущены не позднее 2005 года.
SELECT SUM(stoimost) FROM AngVERSIYA
WHERE dataV>2005
Пример 4:
Определить все программы, названия которых содержат комбинацию "NT".
SELECT nazvanie FROM AngPROGRAMMA
WHERE nazvanie LIKE '%NT%'
Пример 5:
Представить сведения о программах в виде: название программы, её стоимость; выполнив при этом суммирование стоимости программ с одним названием. Вывести сведения только о тех программах, суммарная стоимость которых больше 10000 рублей.
SELECT nazvanie SUM(stoimost) FROM AngPROGRAMMA, AngVERSIYA
WHERE AngPROGRAMMA. Nazvanie= AngVERSIYA. Nazvanie
GROUP BY nazvanie. AngPROGRAMMA
HAVING SUM(stoimost)>10000