41
Лекция 9 1. Основы Transact-SQL (MS SQL Server) Корпорация Microsoft, как и многие другие производители, разработала свою версию языка SQL, назвав его Transact-SQL. Данный язык удовлетворяет требованиям ANSI SQL-92, но предлагает и еще ряд дополнительных возможностей. В SQL Server появилось новое условное средство – CASE, которое может использоваться в условиях поиска. CASE WHEN условие1 THEN результат1 WHEN условие2 THEN результат2 . . . WHEN условиеn THEN результатn END Пример. Пищевой рацион. UPDATE Пища (Продукты питания) SET Норма = CASE 1

Лекции 9-12

Embed Size (px)

Citation preview

Page 1: Лекции 9-12

Лекция 9

1. Основы Transact-SQL

(MS SQL Server)

Корпорация Microsoft, как и многие другие производители, разработала

свою версию языка SQL, назвав его Transact-SQL. Данный язык

удовлетворяет требованиям ANSI SQL-92, но предлагает и еще ряд

дополнительных возможностей. В SQL Server появилось новое условное

средство – CASE, которое может использоваться в условиях поиска.

CASE

WHEN условие1 THEN результат1

WHEN условие2 THEN результат2

. . .

WHEN условиеn THEN результатn

END

Пример. Пищевой рацион.

UPDATE Пища (Продукты питания)

SET Норма = CASE

WHEN жир<1

THEN ‘очень мало жиров’

WHEN жир<5

THEN ‘мало жиров’

WHEN жир<20

THEN ‘среднее количество жиров’

WHEN жир<50

1

Page 2: Лекции 9-12

THEN ‘высокое количество жиров’

ELSE ‘сплошные жиры’

END

В цифрах указано количество жиров в граммах на 100 грамм.

Оператор CASE проверяет по порядку условие WHEN, пока не

встретится первое истинное значение, после чего он игнорирует оставшиеся

условия.

Пример. Запрос о погоде в городе, куда Вы собираетесь ехать, и,

соответственно, какую одежду надо взять.

Пусть имеются два отношения:

Г.Города(NГ, Город)

С.Сводка_погоды(NС, NГ, Дата, Температура)

SELECT Г.NГ, Г.Город, Дата, Температура)

«Взять одежду»=

CASE

WHEN С.Температура<0

THEN “Зимняя одежда”

WHEN С.Температура

BETWEEN 0 AND 10

THEN “Весенняя одежда”

WHEN С.Температура<0

BETWEEN 11 AND 30

THEN “Летняя одежда”

ELSE

THEN “Погода неопределенная”

END

FROM Г, С

WHERE Г.NГ=С.NГ

2

Page 3: Лекции 9-12

2. Встроенный язык SQL.

При включении операторов SQL в базовый язык программирования

необходимо чтобы операторы SQL включались непосредственно в текст

программы исходного языка программирования.

Во встроенном SQL запросы делятся на два типа:

Однострочные запросы,

Многострочные запросы

Однострочный запрос во встроенном SQL, вызвал

необходимость модификации оператора SQL – SELECT:

SELECT [ALL | DISTINCT] <список полей>

INTO <список переменных базового языка>

FROM <список исходных таблиц>

[WHERE <предикат>]

Пример. Пусть имеется отношение: STUD (NS, FIO, GR,

SPEC)

Для описания локальных переменных в языке Transact SQL

(СУБД Ms SQL Server) используется символ @

DECLARE @p1 int,

DECLARE @p2 char(20), @p3 char(4), @p4 char(30)

SET @p1=205

SELECT *

INTO @p2, @p3, @p4

FROM STUD

WHERE NS=@p1

3

Page 4: Лекции 9-12

Для реализации многострочных запросов, вводится новое понятие –

понятие курсора. Для работы с курсором добавляется несколько

новых операторов SQL.

DECLARE <имя курсора> CURSOR – объявление некоторого

курсора, с помощью которого можно проводить обработку записей.

FOR <подзапрос>

OPEN <курсор> - оператор открытия курсора, дает команду СУБД

выполнить запрос

FETCH <курсор> INTO <список переменных> используется для

выборки записей

CLOSE <курсор> - оператор закрытия курсора

Пример.

        DECLARE q CURSOR

        FOR SELECT *

            FROM STUD

            WHERE SPEC=”230102”

        OPEN q

        WHILE .T.

        FETCH q INTO A, B, C, D,

        DO PROC

        END WHILE

        CLOSE q

Пример. Пусть имеется БД, связанная с поставками изделий.

Поставщики S(NП, ФИО, Состояние)

Детали P(NД, НазваниеД, Цвет, Вес, Город)

Изделия J(NИ, НазваниеИз, Город)

Поставки SPJ(NП, NД, NИ, Количество)

4

Page 5: Лекции 9-12

Необходимо составить программу вывода записей поставщиков в

порядке их номеров, при этом за каждой записью поставщика должны

непосредственно следовать в порядке номеров изделий все записи изделий,

для которых поставляет детали данный поставщик.

MAIN

DEFINE PS.* LIKE S.*

DEFINE PJ.* LIKE J.*

DECLARE CS CURSOR FOR

SELECT NП, ФИО, Состояние, Город

FROM S

ORDER BY NП

DECLARE CJ CURSOR FOR

SELECT NИ, НазваниеИз, Город

FROM J

WHERE NИ IN

(SELECT NИ

FROM SPJ

WHERE NП=S.NП)

ORDER BY NИ

OPEN CS

LET V=”1”B

LET R=”1”B

WHILE V

IF STATUS=NOTFOUND

THEN MESSAGE “NO ROW FOUND”

EXIT WHILE

END IF

FETCH CS INTO PS.NP, PS.ФИО, PS.Состояние, PS.Город

DISPLAY PS.NP, PS.ФИО, PS.Состояние, PS.Город

OPEN CJ

5

Page 6: Лекции 9-12

WHILE R

FETCH CJ INTO PJ.NИ, PJ.НазваниеИз, PJ.Город

DISPLAY PJ.NИ, PJ.НазваниеИз, PJ.Город

END WHILE

CLOSE CJ

END WHILE

CLOSE CS

END MAIN

Динамический SQL

Если множество команд, которые может принимать программа,

сравнительно невелико (например, бронирование мест на авиалиниях), то и

множество возможных предложений SQL, выдаваемых программой, также

будет небольшим и может быть зашито в программу.

Если же количество вариантов входных данных будет большим, то

зашить их в программу не удается. В этом случае удобно динамически

формировать предложения SQL.

Для динамического формирования SQL используются два основных

предложения:

PREPARE – подготовить

EXECUTE – выполнить

Схема их использования состоит в следующем:

DEFINE Исходный-SQL CHAR

DECLARE Объектный-SQL оператор

Исходный-SQL=”DELETE FROM SP

WHERE количество<100”

PREPARE Объектный-SQL FROM Исходный-SQL

EXECUTE Объектный-SQL

6

Page 7: Лекции 9-12

Вопросы

1. Операторы манипулирования данными

2. Операторы языка MS SQL Server.

3. Встроенный язык запросов.

4. Однострочный запрос.

5. Многострочный запрос.

6. Когда возникает необходимость использования курсора?

7. Как объявляется курсор?

8. Основные операторы встроенного языка SQL

9. Для чего применяют оператор FETCH – INTO?

10. Когда возникает необходимость динамического SQL?

Лекция 10

Безопасность БД

Безопасность данных – это защита данных от случайного или

преднамеренного разрушения, раскрытия или модификации данных.

Существуют следующие возможные причины опасности:

1. Использование прав доступа другого человека.

2. Несанкционированное изменение или копирование данных.

3. Изменение программ.

4. Подключение к кабельной сети.

5. Ввод хакерами некорректных данных.

6. Похищение данных, программ и оборудования.

7. Недостаточность обучения персонала, ее нехватка.

8. Просмотр и раскраска засекреченных данных.

9. Электронные наводки и радиации.

10. Разрушение данных из-за электропитания.

7

Page 8: Лекции 9-12

11. Пожары.

12. Физическое повреждение оборудования.

13. Обрыв или отсоединение кабелей.

14. Внедрение компьютерных вирусов.

Меры безопасности

1.    Идентификация или установление подлинности

2.    Предоставление полномочий

3.    Обеспечение целостности БД

4.    Кодирование информации

1. Идентификация и установление подлинности

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

Пароли:

1.    Простые пароли

2.    Однократного использования. Пользователю выдается список из N

паролей. Такие же N паролей хранятся в ЭВМ. Данная схема обеспечивает

большую степень безопасности, но она является и более сложной.

    Пример 5.1:     xyz        xyz

                      абв         абв

3.    «Запрос - ответ». В системе хранятся данные об идентификации

личности. Машина задает вопросы пользователю, известные только ему.

4. Установление пользователем подлинности системы. Пароли используются

не только для установления пользователя по отношению к системам, но и для

обратного установления подлинности. Это важно, например, в сетях ЭВМ.

Такую проверку называют процедурой в режиме “рукопожатия “.

8

Page 9: Лекции 9-12

Рис.1. Взаимодействие машин в режиме «рукопожатия»

Из машины посылается некоторое число х, на другой машине есть

функция преобразования f(x). После преобразования посылается ответ f(х).

Первая машина определяет: верна ли функция преобразования или нет.

Число посылается открыто, а функция преобразования по линиям связи не

передается.

Пример. Пример системы «рукопожатия»

    Х                    f(x)               

  1312                 4

  4752                86

  5472                76

  6836               120

     ...

d1d2d3d4 – четырехзначное десятичное число

f(x)=2*(d1*d4+d2*d3)mod(d1d2d3d4)

x=4752    f(x)=2*(8+35)=86

Определение полномочий представлено в таблице 1.

Таблица 1.

Наименование ФИО Квалифи-кация

Оклад Транспорт Прогнозобъемапродаж

Цена напокупку

Отдел кадров 11 11 11 00 00 00

Транспортный отдел

00 00 00 11 00 00

Касса 01 00 11 00 00 00

Отдел сбыта 00 00 00 00 11 01

Отдел МТС 01 00 00 01 11 01

Исследовательский отдел

01 01 00 01 01 01

Обозначения: 00 – запрос доступа, 01 – право читать, 10 – право записи,

11 – право читать и писать     

9

Page 10: Лекции 9-12

2. Механизм представления и система привилегий

Механизм представления используется для скрытия данных.

CREATE VIEW <имя> [поля] AS<подзапрос>

CREATE VIEW spec 2202 AS SELECT *

 FROM STUD

 WHERE SPEC=”2202”

Привилегии предоставляются с помощью:

оператора GRANT языка SQL

GRANT <привилегии> [ON_тип объекта] TO <пользователь>

GRANT SELECT ON TABLE stud TO Данилов

GRANT SELECT, UPDATE ON TABLE stud TO Огородников

GRANT ALL PRIVILEGES ON TABLE stud, disc, st TO Лаврентьева

GRANT SELECT ON TABLE stud TO PUBLIC

Пример. Предоставление привилегий.

CREATE VIEW prim1 AS

SELECT fio, gr

FROM stud

GRANT SELECT ON prim1 TO Коля, Света

Факультативные возможности GRANT

Пользователь U1 может предоставить привилегии пользователю U2 с

возможностями GRANT (путем фразы WITH GRANT OPTION в

предложении GRANT)

Далее U2 может в свою очередь предоставить привилегии U3 и т.д.

U1 ->U2 -> U3         WITH GRANT OPTION

Пользователь U1

10

Page 11: Лекции 9-12

GRANT SELECT ON TABLE STUD TO U2 WITH GRANT OPTION

Пользователь U2

GRANT SELECT ON TABLE STUD TO U3 WITH GRANT OPTION

Пользователь U3

Пользователь U4

Отмена полномочий может быть осуществлена оператором REVOKE

REVOKE <привилегии> [ON_тип объекта]     FROM <пользователь>

REVOKE SELECT ON TABLE stud    FROM U2

Если пользователь U1 отменит привилегии пользователю U2, то все

остальные будут отменены каскадно.

3. Целостность данных

Под целостностью данных понимают соответствие информационной

модели предметной области (ПО), объектам реального мира и их

взаимосвязям в каждый момент времени.

В БД сведения о предметной области хранятся в информационной

модели. Любые изменения в ПО, значимое для построения модели, должно

отражаться в БД.

При создании таблиц пользователь может для столбцов, помимо

задания базовых свойств, таких как имя, тип данных, размер и точность,

указать ограничения целостности.

Различают следующие ограничения целостности:

1.    Логические ограничения

2.    Внутренние ограничения

3.    Явные ограничения

11

Page 12: Лекции 9-12

Логические ограничения – это механизм контролирования значений, которые

хранятся в полях строки БД. Термин целостности используется для описания

точности и корректности данных, хранящихся в БД. Его не надо путать с

безопасностью. Проблема сохранения целостности данных касается

непреднамеренных ошибок и их предотвращения. Например, значение поля

возраст не должен быть >150 лет.

Год окончания вуза должен превышать значение атрибута год

рождения в записи типа служащий. В учебной группе по списку должно

быть не более 35 человек. Возраст сотрудника не меньше 18 и не больше 80

лет.

Внутренние ограничения – связаны со структурой данных.

Пример 5.4: запись не может состоять из 250 полей. В иерархической модели

связи должны быть древовидными.

Явные ограничения специфицируются в БД с помощью специальных

конструкций языка описания данных.

Пример 5.5: 1) в БД не может быть двух записей с одинаковыми ключами. 2)

Шифр детали представляется целым числом из 4х десятичных цифр.

В SQL вводятся также операторы ограничения:

CHECK – ограничения на значение атрибута

NULL – возможность хранения неопределенного значения

DEFAULT – определение значения по умолчанию

UNIQUE – гарантирует уникальное значение в столбце

PRIMARY KEY – определяет первичный ключ

Пример 5.6: Для задания ограничений отдельного столбца стандарт ISO

задает оператор

    CREATE DOMAIN <имя_файла> [AS] тип данных

[DEFAULT <значение>]

[CHECK <условие>]

12

Page 13: Лекции 9-12

Например, имя столбца с указанием пола (SEX)

CREATE DOMAIN sex_type AS CHAR CHECK (Value IN(‘M’,’F’))

В результате будет создан домен под именем Sex_type, состоящий из

двух символов M и F. В таблице Sotr(fio, sex, dolgn, …) имеется столбец sex.

Тогда столбец sex в таблице можно описать, используя домен sex_type.

4. Шифрование данных

Нелегальный пользователь может незаконно проникнуть в базу данных

с помощью обычных средств доступа, имеющихся в системе. Но может

попытаться проникнуть и минуя систему, например, подключившись к

коммуникационному каналу или физически захватив БД. Наиболее

эффективным методом борьбы с такими угрозами является шифрование

данных.

Зашифрованное сообщение называется криптограммой

1.    Шифр простой подстановки. Буквы кодируемого сообщения прямо

заменяются буквами того же или другого алфавита.

АБВГД

ВЕЗКН

2.    Шифр многоалфавитной подстановки.

Все методы многоалфавитной подстановки можно представить как

числовое преобразование букв исходного текста, рассматриваемых как числа.

C=(a*P+S)modK, где a - десятичный коэффициент, Р – номер буквы, S –

сдвиг.

3.    Шифр Цезаря. Является частным случаем многоалфавитной

подстановки.

С=Р+К*(mod27) 1<=K<=27

13

Page 14: Лекции 9-12

C=P+2*(mod27)

Пример:

0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18   

19

A   B   C   D    E    F   G    H    I    J     K      L     M     N     O     P     Q      R      S    

T

4.    Шифр Вижинера (универсальный):

Для кодирования используются ключи. Здесь степень надежности закрытия

информации повышается за счет того, что метод шифрования

предусматривает нарушение статистических закономерностей появления

букв алфавита. Ключ, представляет собой некоторое слово или просто

последовательность букв.

Например, необходимо закодировать слово DECODER. Пусть PIES – ключ

Вопросы

1. Что понимают под безопасностью баз данных?

2. Перечислите меры безопасности

3. Какие существуют методы идентификации и установления

подлинности?

4. В каких случаях используют процедуру в «режиме

рукопожатия»?

5. Для чего используется механизм представления?

14

Page 15: Лекции 9-12

6. Как на SQL организуется механизм представления?

7. Что позволяет оператор GRANT?

8. Как осуществляются факультативные возможности GRANT?

9. Какие существуют ограничения целостности данных?

10. Приведите примеры логических ограничений.

11. Назовите основные методы шифрования данных.

Лекция 11

Хранилище данных

Согласно аналитическим оценкам объем информации в мире

удваивается каждые 2-3 года. Этот потоп, цунами данных приходит из науки,

бизнеса, Интернета и других источников. Среди самых больших баз данных в

2003г. France Telecom имела базу размером в 30000 миллиардов байт, а Alexa

Internet Archive – 500000 миллиардов байт.

Еще в 1989г. 1 мегабайт считался размером для большой базы данных.

В настоящее время предвидеться для астрономии иметь во много терабайт, а

затем петабайт. (1 терабайт = 1000 миллиардов байт, а 1 петабайт = 1000

терабайт, 1 гигабайт = 1024 мегабайт).

Из-за огромного количества информации очень малая ее часть будет

когда-либо увидена человеческим глазом. Надежда – применение Data

Mining. Data Mining (называемая Knowledge Discovery In Data) – процесс

нахождения (обнаружения) потенциально полезных знаний в базах данных.

Так как поиск является сложной задачей, то появился класс

программных систем, призванных облегчить работу людей, выполняющих

анализ. Такие системы принято называть системами поддержки принятия

решений – СППР (DSS, Decision Support System).

15

Page 16: Лекции 9-12

Задачи СППР:

- ввод данных – OLTP (Online transaction processing);

- хранение данных – СУБД и концепция хранилища данных (ХД);

- анализ данных.

Анализ данных может производиться на основе следующих данных:

- ИПС на базе реляционных СУБД и запросов с использованием языка

SQL;

- Подсистемы оперативного анализа OLAP (Online analytical

processing);

- Подсистема интеллектуального анализа Data Mining (“добыча

данных”).

1. Концепции хранилища данных

Первые сведения по ХД появились в 1988г. В 1992г. Г.Инмон подробно

описал концепцию в своей монографии “Построение хранилищ данных”.

В основе концепции ХД лежит идея разделения данных, используемых

для оперативной обработки и для решения задач анализа.

Хранилище данных – предметно-ориентированный, интегрированный,

неизменчивый, поддерживающий хронологию набор данных,

организованный для целей поддержки принятия решений.

В СППР разделение данных происходит в двух направлениях:

1) ОИД – оперативные источники данных (это оперативные БД, файлы,

электронные таблицы и т.п.)

2) структуры данных, предназначенных для анализа – это ХД.

Дальнейшее развитие – это использование витрин данных (ВД). ВД –

это упрощенный вариант ХД, содержащий только тематические

объединенные данные. ВД существенно меньше по объему ХД, является

подмножеством данных.

16

Page 17: Лекции 9-12

Рис.1. Схема системы поддержки принятия решений (СППР)

Все данные в ХД делятся на три категории:

- детальные данные (переносимые непосредственно из ОИД);

- агрегированные ( получают путем суммирования числовых

фактических данных по определенным измерениям);

- метаданные (данные о данных).

Большинство СППР работают не с детальными данными, а с

агрегированными данными. Перенос данных в ХД называют ETL –

процессом (E –extraction, T – transformation, L – loading) – извлечение,

преобразование и загрузка.

2. Многомерная модель данных

Реляционные модели не позволяют просматривать и анализировать

данные с точки зрения множественности измерений. Множественность

измерений предполагает представление данных в виде многомерной модели

(гиперкуба).

17

Page 18: Лекции 9-12

Рис.2. Многомерная модель хранилища данных

Измерения:

Исполнитель (предприятие – подразделение – отдел – служащий).

Время (Год – квартал – месяц – день).

Мера (measures) – представляет ячейку, которая хранит факты (объемы

продаж, остатки на складе, издержки и т.п.).

Срез (Slice) – формирует подмножество многомерного массива данных.

Вращение (Rotate) – изменение расположения измерений.

Консолидация (Drill Up) – агрегирование.

Детализация (Drill Down)

3. OLAP – системы

OLAP (On-Line Analytical Processing) – технология оперативной

аналитической обработки данных, использующая методы и средства для

сбора, хранения и анализа многомерных данных в целях поддержки процесса

принятия решений.

18 правил, предъявляемых к OLAP:

- многомерное концептуальное представление данных,

- доступность,

- архитектура “клиент - сервер”,

18

Page 19: Лекции 9-12

- прозрачность,

- обработка ненормализованных данных,

- универсальность измерений и т.д.

OLAP система должна обеспечивать выдачу большинства ответов в

пределах не более 5 сек.

Архитектура OLAP – систем

Выделяют три основных способа реализации многомерных моделей:

- MOLAP – используют многомерные БД,

- ROLAP – используют реляционные БД,

- HOLAP – используют и многомерные и реляционные БД.

MOLAP – используют для хранения и управления данными -

многомерные БД. Данные хранятся в виде многомерных массивов. Такие

массивы подразделяются на гиперкубы и поликубы. Физически, данные,

представлены в многомерном виде, хранятся в плоских файлах. Куб

представляется в виде одной плоской таблицы, в которую построчно

вписываются все комбинации членов всех измерений с соответствующими

им значениям мер.

Достоинство – быстрый поиск, так как база данных денормализована и

содержит агрегированные данные. Недостаток – чувствительность к

изменениям. Так при добавлении нового измерения приходится изменять

структуру всей БД. Рекомендуется для небольших БД (не более нескольких

гигабайт).

ROLAP

Реляционные БД дополняются средствами анализа. Распространены

две основные схемы реализации многомерного представления данных с

помощью реляционных таблиц: схема “Звезда” и схема “Снежинка”.

Основными составляющими таких схем являются денормализованные

таблицы фактов (Fact Table) и массивы таблиц измерений (Dimension Table).

Фактами являются:

19

Page 20: Лекции 9-12

- события (телефонный звонок, снятие денег со счета и т.д.),

- “моментальные снимки” – рассматривается состояние объекта

(например, банковского счета, объем продаж за день или дневная выручка).

Таблицы измерений содержат неизменяемые, либо редко изменяемые

данные.

Рис.3. Модель хранилища данных по схеме «звезда»

В снежинке используются иерархические измерения, правда это ведет

к усложнению структуры БД. Недостаток ROLAP по сравнению с

многомерными СУБД – меньшая производительность.

HOLAP

Используют гибридную архитектуру, объединяющую технологии

ROLAP и MOLAP. MOLAP лучше работает с более плотными данными, а

ROLAP лучше, когда данные являются довольно разделимыми.

4. Интеллектуальный анализ данных

(Data Mining – добыча данных)

В OLAP системах аналитик выдвигает гипотезы и затем проверяет их.

Он решает задачи, основываясь на своих знаниях и опыте. Однако знания

20

Page 21: Лекции 9-12

есть не только у человека, но и в накопленных данных, которые

подвергаются анализу. Такие знания называются “скрытыми”, так как они

содержатся в гигабайтах и терабайтах информации, которые человек не в

состоянии исследовать самостоятельно. Для определения скрытых знаний

необходимо применять специальные методы анализа, при которых

приходится практически добывать знания из “завалов” информации.

Пятницкий-Шапиро в 1996г. дали следующее определение добычи

данных.

Data Mining – исследование и обнаружение машиной (алгоритмами,

средствами искусственного интеллекта) в сырых данных скрытых знаний,

которые ранее не были известны, нетривиальны, практически полезны,

доступны для интерпретации человеком.

Свойства обнаруживаемых знаний:

- должны быть новые, ранее неизвестные,

- нетривиальны,

- практическими,

- доступными для понимания.

В Data Mining для представления полученных знаний служат модели.

Наиболее распространенными являются: правила, деревья решений, кластеры

и математические функции. А также: классификация, регрессия, поиск

ассоциативных правил и кластеризация.

Вопросы

1. Дайте определение хранилища данных

2. Задачи СППР

3. На основе, каких средств, производится анализ данных?

4. Что такое витрины данных?

5. Каковы составляющие схемы СППР?

6. Каково представление данных в ХД?

7. Для чего используется OLAP система?

8. Способы реализации многомерной модели в OLAP системах.

21

Page 22: Лекции 9-12

9. Отличие MOLAP систем от ROLAP.

10. Основные схемы реализации многомерного представления данных.

11. Интеллектуальный анализ данных?

12. Свойства обнаруживаемых знаний в Data Mining.

Лекция 12

Базы данных в Интернете

В 90х годах появилась новая технология, которая позволила связывать

территориально разнесенную информацию и осуществлять к ней

единообразный доступ. Такой сетью явилась Internet. Internet - представляет

собой глобальную информационную сеть, обеспечивающую пользователям

быстрый доступ к целому океану различной информации. Появившаяся

система WWW предельно упростила доступ к информации. Одним из

способов электронного представления данных во всемирной сети является

публикация баз данных в Интернете, позволяющая размещать информацию

из базы данных на Web- страницах сети.

Различают следующие технологии:

WWW (World Wide Web) - позволяет общаться пользователям сети.

Используется архитектура «Клиент-Сервер».

Для адресации файлов, расположенных на серверах используется

универсальный локатор ресурсов (URL – Uniform Resource Locater). URL

включает в себя название протокола и адрес сервера.

http://URL

Для адресации данных используется доменная структура:

22

Page 23: Лекции 9-12

Адрес: http://kai.kazan.ru

При обращении к серверу, с сервера поступают текстовые файлы с

расширением html.

1. Язык HTML

HTML (Hyper Text Markup Language) – это язык гипертекстовой

разметки. Для построения HTML страниц используется теговая модель.

Теги – это управляющие коды, которые заключаются в угловые скобки <…>.

Типы тегов:

1.    Структурные

2.    Текстовые

3.    Кадровые

4.    Табличные

5.    Графические

6.    Ссылочные

7.    Теги форм

8.    Теги внедряемых объектов (модули, аплеты, объекты ActiveX)

Тело документа начинается и заканчивается тегом HTML

<HTML> тело документа </HTML>

Пример:

<HTML>

<HEAD> <TITLE> <Заголовок> название документа</TITLE>

</HEAD>

<BODY> <Тело документа>

23

Page 24: Лекции 9-12

</BODY>

</HTML>

Тело документа

·    Заголовки

H1-H6 (<H1> … </H1>)

Пример: <H1 ALIGN=center> Заголовок </H1>

·    Параграф

<P> - начинать абзац с новой строки.

Пример:

<P>

Абзац1

<P>

Абзац2

·    Перенос строки

<BR> - может стоять в начале или в конце параграфа

·    Шрифт

<I> … </I> - курсив

<B> … </B> - полужирный

<U> … </U> - подчеркивание

<TT> … </TT> - пишущая машинка

·    Размер шрифта

<BASEFONT> - размер шрифта (базовый от 1 до 7)

<FONT> - текущий шрифт

Пример:

<P>

< BASEFONT SIZE=4>

основной шрифт

<P>

<FONT SIZE=+1>

24

Page 25: Лекции 9-12

крупнее основного на 1

<P>

<FONT SIZE=7>

самый большой размер шрифта

·    Для задания гарнитуры и цвета внутри тега FONT используются

атрибутыFACE и COLOR.

<FONT FACE=”Helvetica” SIZE=’7’ COLOR=”Blue”>

2. Списки

Списки бывают:

·    Ненумерованные <UL>

·    Нумерованные <OL>

Пример:

<UL>

        <Li> первый элемент списка

     <Li> второй элемент списка

        <Li> третий элемент списка

</UL>

Результат:

первый элемент списка

второй элемент списка

третий элемент списка

<LH> - тег, позволяющий именовать списки

Пример.

<HTML>

<HEADE>

<TITLE>Пример вложенных списков</TITLE>

</HEADE>

<BODY>

<H1>Списки товаров</H1>

25

Page 26: Лекции 9-12

<UL>

<LI>Мебель

<UL>

<LI>Стол

<LI>Шкаф

<LI>Комод

</UL>

<LI>Автомобили

<UL>

<LI>ВАЗ

<LI>Волга

<LI>Ока

</UL>

</UL>

</BODY>

</HTML>

3. Гипертекстовые ссылки

Ссылки позволяют щелчком по выделенному слову или фразе перейти

к другому документу (файлу). Ссылки выделяются другим цветом или

подчеркиванием.

Для создания ссылок используется специальный тег <A> anchor

(якорь).

Якорь имеет несколько атрибутов, главным из которых является HREF –

Hyper Text Reference

<A HREF=”URL_адрес”> Текст </А>

26

Page 27: Лекции 9-12

<A HREF=”Документ.htm”> Выделенный текст </А>

Результат: щелкая на «Выделенный текст» перемещаемся в «Документ.htm»

Для ссылки внутри документа используется маркер <A…> с атрибутом

Name

<A HREF=”#GO”> … </A>

<A NAME=”GO”> … </A>

Для ссылки в определенное место документа используется имя

документа и маркер.

<A HREF=”example.html # first”> Ссылка </A>

<A NAME=first> Некий заголовок </A>

Пример:

<HTML>

<HEAD><TITLE>Файл данных</HEAD>

<BODY>

<H1> Файл о студентах и сотрудниках </H1>

<UL>

<LH> Перечень списков </LH>

<LI> <A href=”#SOTR”> Сотрудники </A>

<LI> <A href=”#STUD”> Студенты </A>

</UL>

<A NAME=”SOTR”> Сведения о сотрудниках </A>

<P>

Иванов … <BR>

Петров … <BR>

Сидоров … <BR>

<A NAME=”STUD”> Сведения о студентах </A>

<P>

Котов … <BR>

Яхин… <BR>

27

Page 28: Лекции 9-12

Титова … <BR>

</BODY>

</HTML>

Графические ссылки

Для графических ссылок используется метка <IMG…> с атрибутом

SRC

<A HREF=”DOM.HTML”><IMG SRC=”DOM.GIF”></A>

DOM.HTML – имя файла, на который указывает ссылка

DOM.GIF – файл изображения, на который необходимо щелкнуть.

Рис.1. Схема перехода по графической ссылке

4. Таблицы.

Формируются с помощью тега.

<TABLE> … </TABLE>

BORDER – ячейки таблицы выделить рамкой (бордюром)

CAPTION – задает название таблицы

TH – название столбцов

TR – начало каждого ряда

TD – ввод данных

Пример: Сотрудники

Имя Отдел Год рожд-я

28

Page 29: Лекции 9-12

Андреев А АСУ 1973

Иванов И КО 1964

Сергеев С САПР 1978

Рис.2. Таблица «Сотрудники»

<TABLE BORDER>

<CARTION ALIGN=TOP> Сотрудники </CAPTION>

<TR>

<TH> Имя </TH>

<TH> Отдел </TH>

<TH> Год рождения </TH>

</TR>

<TR> <TD> Андреев А</TD> <TD> АСУ </TD> <TD> 1973 </TD>

<TR> <TD> Иванов И </TD> <TD> КО </TD> <TD> 1964 </TD>

<TR> <TD> Сергеев С</TD> <TD> САПР </TD> <TD> 1978 </TD>

</TABLE>

5. Фреймы

Фреймы – позволяют разбить окно на несколько разделов, которые имеют

свои рисунки, полосы прокрутки, свои данные. В каждом фрейме

показывается свой документ HTML.

Рис.3. Пример разделения экрана на фреймы

29

Page 30: Лекции 9-12

Для разбивки окна на фреймы используется тег <FRAMESET>.

С помощью атрибутов COLS и ROWS производится разбивка на колонки и

строки. Разбивка может производится в пикселях или в процентах.

Пример.

<FRAMESET COLS=”100, 200, *”>

<FRAMESET ROWS=”30%, 70%”>

Для заполнения фрейма страницы HTML используется тег:

<FRAME SRC>

Пример.

<FRAME SET COLS=”100, 200, 300”>

<FRAME SRC=”A.HTM”>

<FRAME SRC=”B.HTM”>

<FRAME SRC=”C.HTM”>

Пример.

<FRAMESET ROWS=”50%,50%”>

<FRAME SRC=”top.htm” NAME=”Top”>

 <FRAMESET COLS=”50%,50%”>

<FRAME SRC=”fleft.htm” NAME=”BottonLeft”>

<FRAME SRC=”fright.htm” NAME=”BottonRight”>

</FRAMESET>

</FRAMESET>

Для вызова файла используется атрибут TARGET.

Например:

<A HREF=”New.html” TARGET “BottonRight”>Новый текст </A>

Файл New.html загружается в окно BottonRight

Вопросы

1. Расшифруйте WWW. Какое значение приобрела данная

технология?

2. С какой целью используется язык HTML?

30

Page 31: Лекции 9-12

3. Каким тегом открывается тело документа?

4. Каким образом организуются списки?

5. Укажите атрибут формирующий гиперссылку.

6. С каким атрибутом используется тег IMG и для чего?

7. Создание таблиц.

8. Фреймы.

9. Произведите разбивку экрана на три вертикальных кадра.

31