Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_Informatsionnoe_obesp_SU.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
446.46 Кб
Скачать

Министерство образования Российской федерации

Пермский государственный технический университет

И. А. Шмидт

Информационное обеспечение систем управления

Пермь 2003

УДК

Рецензенты:

д-р. техн. наук, проф. С. В. Бочкарев (Пермский государственный технический университет).

канд. техн.наук, доцент В. П. Казанцев (Пермский государственный технический университет).

Шмидт И. А.

Информационное обеспечение систем управления: конспект лекций /Перм. гос. техн. ун-т. Пермь, 2003. 43 с.

Представлен конспект лекций по курсу «Информационное обеспечение систем управления» для направления подготовки дипломированного специалиста 654500 «Электротехника, электромеханика и электротехнологии» специальности 180400 «Электропривод и автоматика промышленных установок и технологических комплексов» дневного и заочного отделений.

Конспект лекций рекомендуется для студентов изучающих курсы: «Информационное обеспечение систем управления» специальности 210200 «Автоматизация технологических процессов и производств».

Содержание

1 Архитектуры обработки данных. 8

1.1 Архитектура хост/терминал. 8

Рис.1. Архитектура хост/терминал. 8

1.2 Архитектура файл/сервер. 8

Рис.2.Архитектура файл/сервер. 8

Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры файл/сервер. При такой архитектуре приложение, выполняемое на персональном компьютере, может получить “прозрачный” доступ к файл-серверу, на котором хранятся совместно используемые файлы. Когда приложению, работающему на ПК, требуется данные из совместно используемого файла, сетевое программное обеспечение автоматически считывает требуемый блок данных с сервера. В этой архитектуре мы имеем дело с файловым сервером. В данной архитектуре вопросами целостности должно заниматься каждое приложение. 9

1.3 Архитектура клиент/сервер. 9

Рис.3. Архитектура клиент/сервер. 9

1.4 Многозвенная архитектура. 10

Рис.4.Многозвенная архитектура. 10

2 Способы организации данных. 10

2.1 Сетевая модель данных 10

Рис.5.Структура сущность-связь. 11

2.2 Реляционная модель данных. 11

3 Язык sql как язык работы с реляционными базами. 12

4 Данные и взаимосвязи. 13

4.1 Объекты. 13

Таблица Документ 14

Таблица Клиент 14

Таблица Склад 14

Таблица Перемещение 14

Таблица Остатки 14

4.2 Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц? 15

4.3 Нормализация данных. 15

4.3.1 Первая нормальная форма. 16

4.3.2 Вторая нормальная форма. 16

4.3.3 Третья нормальная форма. 16

4.4 Типы данных. 17

4.4.1 Числовые целые типы данных. 17

4.4.2 Числовые типы данных с плавающей точкой. 17

4.4.3 Символьные типы данных. 18

4.4.4 . Типы данных date, time и datetime. 18

4.4.5 Специальные типы данных. 19

5 Основы методологии idef1x 19

5.1 Предназначение IDEF1X 19

5.2 Сущности в IDEF1X и их атрибуты. 19

5.3 Связи между сущностями 20

5.4 Идентификация сущностей. Представление о ключах. 21

5.5 Классификация сущностей в IDEF1X. Зависимые и независимые сущности. 23

5.6 Типы связей между сущностями. Идентифицирующие и неидентифицирующие связи. 23

5.7 Преимущества IDEF1X 24

5.8 Модель «склад» в нотации IDEF1X 24

6 SQL (Structured System Language) 26

6.1 Структура запроса, основные ключевые слова и операторы 26

Рис.9 27

DELETE FROM ДОКУМЕНТ WHERE ДАТА>’1.03.2000’ 27

6.1.1 Список основных операторов SQL 27

6.1.2 Список основных ключевых слов SQL 27

6.2 Оператор SELECT 27

SELECT * FROM ДОКУМЕНТ 28

SELECT КОД,ДАТА,НОМЕР FROM ДОКУМЕНТ. 28

WHERE условие поиска 29

GROUP BY имя столбца 29

HAVING условие поиска 29

ORDER BY спецификатор сортировки 29

6.2.1 Предложение SELECT 29

6.2.2 Предложение FROM 29

SELECT * FROM ГОРОДА 29

SELECT DISTINCT ДАТА FROM ДОКУМЕНТ 30

6.2.3 Предложение WHERE 30

SELECT IDN_КЛИЕНТА 30

FROM ДОКУМЕНТ 30

SELECT * 30

FROM ДОКУМЕНТ 30

SELECT IDN_КЛИЕНТА 30

FROM ДОКУМЕНТ 30

6.2.4 Условия поиска. 30

Синтаксическая диаграмма сравнения 31

NOT 31

AND 31

OR 31

Таблица истинности операции AND. 31

SELECT * 31

FROM ДОКУМЕНТ 31

OR (ДАТА=’18.01.2000’) AND NOT (ДАТА=’8.03.2000’) 32

SELECT * 32

FROM ДОКУМЕНТ 32

NOT 32

SELECT * 32

FROM ДОКУМЕНТ 32

SELECT * 32

FROM ПЕРЕМЕЩЕНИЕ 32

SELECT * 32

FROM ДОКУМЕНТ 32

SELECT * 32

FROM ПЕРЕМЕЩЕНИЕ 32

NOT 33

SELECT * 33

FROM КЛИЕНТ 33

SELECT НАЗВАНИЕ 33

FROM КЛИЕНТ 33

SELECT НАЗВАНИЕ(ИМЯ) 33

FROM КЛИЕНТ 33

SELECT * 33

FROM КЛИЕНТ 33

6.2.5 Сортировка результатов запроса (предложение ORDER BY) 33

SELECT * 34

FROM СКЛАД 34

Для сортировки в обратном порядке используется ключевое слово DESC. 34

6.2.6 Агрегатные функции 34

SELECT ДАТА_ДОК 34

FROM ПЕРЕМЕЩЕНИЕ 34

WHERE ДАТА_ДОК BETWEEN ‘1.01.2000’ AND ’31.01.2000’ 34

SELECT MAX (ЦЕНА) 34

FROM ПЕРЕМЕЩЕНИЕ 34

Когда был сделан самый первый из всех содержащихся в базе данных документ? 34

SELECT MIN (ДАТА) 34

FROM ДОКУМЕНТ 34

SELECT AVG(ЦЕНА),AVG(КОЛИЧЕСТВО) 35

FROM ОСТАТКИ 35

SELECT COUNT(*) 35

FROM КЛИЕНТ 35

WHERE НАЗВАНИЕ LIKE ‘%ЗАО%’ 35

6.2.7 Запросы с группировкой (предложение GROUP BY) 35

SELECT ДАТА_ДОК, SUM (КОЛ-ВО*ЦЕНА) 35

FROM ПЕРЕМЕЩЕНИЕ 35

WHERE ДАТА_ДОК BETWEEN ‘1.01.2000’ AND ’31.01.2000’ 35

SELECT IDN_МАТ.ЦЕН, AVG(ЦЕНА) 35

FROM ПЕРЕМЕЩЕНИЕ 35

GROUP BY IDN_МАТ.ЦЕН 35

6.2.8 Условия поиска групп HAVING 36

SELECT ДАТА_ДОК, SUM (КОЛ-ВО*ЦЕНА) 36

SUM (КОЛ-ВО*ЦЕНА) 36

FROM ПЕРЕМЕЩЕНИЕ 36

WHERE ДАТА_ДОК BETWEEN ‘1.01.2000’ AND ’31.01.2000’ 36

SELECT IDN_ГОРОДА 36

FROM КЛИЕНТ 36

6.3 Работа с несколькими таблицами 36

6.3.1 Объединение при помощи оператора WHERE 36

SELECT ГОРОДА.НАЗВАНИЕ, КЛИЕНТ.НАЗВАНИЕ(ИМЯ) 36

FROM ГОРОДА,КЛИЕНТ 36

WHERE ГОРОДА.IDN=КЛИЕНТ.IDN_ГОРОДА 36

SELECT Г.НАЗВАНИЕ, К.НАЗВАНИЕ(ИМЯ) 37

FROM ГОРОДА Г., КЛИЕНТ К. 37

WHERE Г.IDN=K.IDN_ГОРОДА AND Г.НАЗВАНИЕ=’Москва’ 37

SELECT ГР.НАЗВАНИЕ, SUM(П.КОЛ-ВО*П.ЦЕНА) 37

FROM ГРУППЫ ГР., ПЕРЕМЕЩЕНИЕ П. 37

WHERE ГР.IDN=П.IDN_ГРУППЫ AND П.ДАТА_ДОК 37

BETWEEN ‘1.02.2000’ AND ’16.03.2000’ 37

6.3.2 Внутренние и внешние объединения 37

SELECT ГОРОДА.НАЗВАНИЕ, КЛИЕНТ.НАЗВАНИЕ(ИМЯ) 37

SELECT ГОРОДА.НАЗВАНИЕ, КЛИЕНТ.НАЗВАНИЕ(ИМЯ) 38

SELECT ГОРОДА.НАЗВАНИЕ, КЛИЕНТ.НАЗВАНИЕ(ИМЯ) 38

6.4 Вложенные запросы 38

6.4.1 Исходная база данных 38

6.4.2 Вложение запросов. 39

Предположим, необходимо извлечь всю информацию о банке с которым 39

SELECT * FROM БАНКИ 39

WHERE IDN =(SELECT IDN_БАНКА FROM КЛИЕНТ WHERE ИМЯ=‘Киров’) 39

WHERE IDN =323 40

После этого основной запрос выполняется как обычный, его результат показан 40

WHERE IDN =323 40

SELECT Г.НАЗВАНИЕ, М НАЗВАНИЕ, П.ЦЕНА 40

FROM Группы Г, МАТ.ЦЕННОСТИ М, ПЕРЕМЕЩЕНИЕ П 40

WHERE М.IDN_ГРУППЫ = П.IDN_ГРУППЫ 40

AND М.IDN_МАТ.ЦЕН. = П.IDN_МАТ.ЦЕН. 40

AND Г.IDN = П.IDN_ГРУППЫ 40

AND П.ЦЕНА = (SELECT MIN (ЦЕНА) FROM Перемещение ПВНУТР 40

6.4.3 Оператор EXISTS 41

SELECT * FROM КЛИЕНТ 41

WHERE EXISTS 41

SELECT ГРУППЫ.НАЗВАНИЕ 41

FROM ГРУППЫ 41

WHERE EXISTS 41

6.5 Объединение множества запросов в один 42

SELECT РЕКВИЗИТЫ FROM БАНКИ 42

WHERE РЕКВИЗИТЫ LIKE ‘М%’. 42

UNION 42

SELECT НАЗВАНИЕ FROM ГОРОДА 42

6.5.1 Когда можно выполнить объединение запросов ? 42

Есть таблицы клиентов и банков, сделать таблицу объединения с указанием 42

SELECT ‘ физ.’, ИМЯ FROM КЛИЕНТ 42

UNION 43

SELECT ‘ юр.’, РЕКВИЗИТЫ FROM БАНКИ 43

6.5.2 Использование UNION с ORDER BY. 43

ORDER BY A, 43

UNION 43

SELECT ‘юр.’, РЕКВИЗИТЫ ИМЯ FROM БАНКИ 43

ORDER BY 2 43

6.6 Команды модификации данных 44

6.6.1 Ввод значений (INSERT) 44

6.6.2 Удаление строк из таблиц (DELETE) 45

6.6.3 Изменение значений поля (UPDATE) 45

UPDATE КЛИЕНТ 45

SET IDN= IDN +5 45

UPDATE КЛИЕНТ 46

SET IDN_банка = IDN_банка 54 46

WHERE IDN_банка = 23 46

UPDATE КЛИЕНТ 46

SET Название = ‘Московские баранки’, 46

Реквизиты = ‘Политехнический проезд 12’ 46

WHERE IDN = 1001 46

6.6.4 Использование подзапросов для команд модификации данных 46

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]