Информационные системы

Автор работы: Пользователь скрыл имя, 05 Ноября 2009 в 13:11, Не определен

Описание работы

Лекции

Файлы: 1 файл

КИС_лекции (1 семестр).doc

— 645.00 Кб (Скачать файл)
 

    С помощью специальных операторов выделим из этой таблицы: 

    а) подмножество строк 

       SELECT Сорт, Год, Количество_бутылок  FROM Винный_погреб WHERE  Год = 80; 

    В результате получаем:

    Сорт Год Количество_бутылок
    Каберне 80 12
    Изабелла 80 28
 

    б) подмножество столбцов 

       SELECT Сорт, Количество_бутылок FROM   Винный_погреб 

 

     В результате получаем:

    Сорт Количество_бутылок
    Каберне 12
    Рислинг 14
    Изабелла 28
    Мадера 1
 

    Оба результата являются таблицами, а операторы SELECT - это операторы языка запросов к БД, называемого SQL (Structured Query Language – Язык структурированных запросов).

    5.1. Учебная  БД

    Учебная БД состоит из 3 таблиц. 

    1) Таблица поставщиков товаров  "S".

    nomer familia kapital gorod
    S1 Смит 20 Лондон
    S2 Джонс 10 Париж
    S3 Блейк 30 Париж
    S4 Кларк 20 Лондон
    S5 Адамс 30 Саров
 

    2) Таблица деталей, которые они  поставляют "P".

    nomer nazvan zvet ves gorod
    P1 Гайка Красный 12 Лондон
    P2 Болт Зеленый 17 Париж
    P3 Винт Голубой 17 Рим
    P4 Винт Красный 14 Лондон
    P5 Кулачок Голубой 12 Париж
    P6 Блюм Красный 19 Лондон
 

    3) Таблица поставок (какой поставщик,  какие детали поставляет) "SP".

    nomer_s nomer_p kol
    S1 P1 300
    S1 P2 200
    S1 P3 400
    S1 P4 200
    S1 P5 100
    S1 P6 100
    S2 P1 300
    S2 P2 400
    S3 P2 200
    S4 P2 200
    S4 P4 300
    S4 P5 400
 

    S - поставщики. Каждый поставщик имеет  уникальный номер, фамилию (не  обязательно уникальную), капитал  и местонахождение.

    P - детали (их виды). Каждый вид детали  имеет уникальный номер, название, цвет, вес и город, где хранится этот вид детали. Каждый вид имеет только один вид и вес и хранится на складе только одного города (упрощение).

    SP - поставки деталей. Связывает  между собой две предыдущие  таблицы. 

    Например, первая строка связывает поставщика S1 (Смит) с деталью P1 (гайка), т.е. означает поставку трехсот деталей вида P1 поставщиком S1.

    Пусть для любого поставщика имеется только одна поставка детали некоторого вида, т.е. пара (nomer_s, nomer_p) является уникальной.

    На  этом примере отметим несколько важных для РБД обстоятельств:

    1) Значения данных во всех клетках  таблицы являются одиночными, а  не множествами, поэтому в таблице  SP имеем:

    S2 P1

    S2 P2

    а не так:

    S2 {P1, P2}

    2) В каждом столбце хранятся  данные только одного типа.

    3) БД представляется только в виде явных значений данных. Не существует никаких явных связей и указателей, соединяющих одну таблицу с другой. Связь представляется не с помощью указателя, а значениями клеток в таблицах.

    4) Строки в таблицах не требуют  никакого упорядочивания.

    5) Редко возникают ситуации, когда  упорядочение столбцов является  существенным. Порядок столбцов  в РБД, как правило, не имеет  значения.

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

    Структура БД определяется оператором CREATE. 

      CREATE TABLE S (

             nomer   CHAR(5),

             familia CHAR(20),

             kapital SMALLINT,

             gorod   CHAR(15) ); 

      CREATE TABLE P (

             nomer    CHAR(6),

             nazvanie CHAR(20),

             zvet     CHAR(7),

             ves      SMALLINT,

             gorod    CHAR(15) ); 

      CREATE TABLE SP (

             nomer_s CHAR(5),

             nomer_p CHAR(6),

             kol     INTEGER ); 

    Это операторы создания таблиц языка SQL. Они создают имена таблиц, столбцов и типы данных для этих столбцов.

    Оператор CREATE, как и все операторы SQL, выполняемый. Как только СУБД его исполнит, появится таблица, которая будет пустой, т.е. будет содержать лишь заголовки столбцов. Для наполнения таблиц есть другие операторы.

 

     5.3. Типы данных в  БД

    1. Символьный - CHAR(<длина>). Длина <= 32767.

    2. Целочисленный со знаком

       а) INTEGER   <= | 2 147 483 647 |

       б) SMALLINT  <= | 32767 |

    3. Действительное число - FLOAT

       Содержит 7 значащих десятичных цифр (доверительные).

       1.175494351E-38  - самое маленькое

       3.402823446E+38  - самое большое

    4. Дата – DATE. 1 янв 100 ... 29 фев 32768

    Тема 6. Выборка данных из БД

    Пример  по учебной БД: Выбрать номера и капиталы всех поставщиков из Парижа.

    Выборка данных делается с помощью оператора  SELECT.

    SELECT nomer, kapital FROM S WHERE gorod='Париж' 

    Результат:

    nomer kapital
    S2 10
    S3 30
 

    Общий, но не полный вид оператора SELECT. 

    SELECT [DISTINCT] <список элементов> FROM <список таблиц>

    [WHERE <условия>]

    [GROUP BY <список столбцов>]

    [ORDER BY <список сортировки>] 

    Серия примеров.

    1. Простая выборка. Выбрать номера  всех поставляемых деталей.  

    SELECT nomer_p FROM SP 

    Результат:

    nomer_p
    P1
    P2
    P3
    P4
    P5
    P6
    P1
    P2
    P2
    P2
    P4
    P5
 

 

     2. Выборка с исключением дубликатов. 

    SELECT DISTINCT nomer_p FROM SP. 

    Результат:

    nomer_p
    P1
    P2
    P3
    P4
    P5
    P6
 

    3. Выборка вычисляемых значений. Выбрать  номера и капиталы всех поставщиков  в рублях, если в таблице S капиталы заданы в $. 

    SELECT nomer, kapital*30 FROM S 

    Результат:

    nomer COLUMN2
    S1 600
    S2 300
    S3 900
    S4 600
    S5 900
 

    Части SELECT и WHERE могут содержать арифметические выражения и константы. 

    SELECT nomer, 'Капитал в рублях =', kapital*30 FROM S 

    Результат:

    nomer COLUMN2 COLUMN3
    S1 Капитал в рублях = 600
    S2 Капитал в рублях = 300
    S3 Капитал в рублях = 900
    S4 Капитал в рублях = 600
    S5 Капитал в рублях = 900

Информация о работе Информационные системы