Главная страница
Навигация по странице:

  • WHERE id NOT IN (SELECT DISTINCT Parent FROM table1); 2. Предложение SELECT языка SQL. Встроенные функции.

  • >.,…} FROM { имя таблицы >/[ алиас >]}.,... WHERE [ предикат >] [GROUP BY { имя

  • SELECT column_name FROM table_name «Алиас»

  • WHERE

  • SELECT * FROM Persons WHERE FirstName=Tove; SELECT * FROM Persons WHERE Year>1965; SELECT * FROM Store_Information WHERE store_name LIKE %AN%‘;

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

  • WHERE Поставщики.Номер_Поставщика = Детали.Номер_Поставщика; Параметр JOIN

  • SELECT список > FROM первая _ таблица > INNER JOIN ON

  • OUTER JOIN SELECT список > FROM

  • DISTINCT

  • SELECT DISTINCT column_name(s) FROM table_name; Экзаменационный билет № 6 1. Способы визуализации структур данных. ER-диаграммы. ERwin

  • 2. Способы классификации СУБД.

  • 3. Основные возможности языка SQL. Предложения SQL. ЯЗЫК СТРУКТУРИРОВАННЫХ ЗАПРОСОВ - SQL - Structured Query Language

  • Структура SQL (операторы)

  • Ответы к экзамену по базам данных. Создание, модификация и уничтожение таблиц. Предложение языка sql create table. Основные типы данных. Предложение alter table. Предложение drop table


    Скачать 0.53 Mb.
    НазваниеСоздание, модификация и уничтожение таблиц. Предложение языка sql create table. Основные типы данных. Предложение alter table. Предложение drop table
    Дата28.01.2018
    Размер0.53 Mb.
    Формат файлаdocx
    Имя файлаОтветы к экзамену по базам данных.docx
    ТипДокументы
    #35327
    страница3 из 6
    1   2   3   4   5   6

    1. Напишите предложение SELECT для отыскания всех узлов иерархии не имеющих потомков для случая моделирования иерархии методом дополнительной таблицы.
    SELECT * FROM table1

    WHERE id NOT IN (SELECT DISTINCT Parent FROM table1);
    2. Предложение SELECT языка SQL. Встроенные функции.
    ЯЗЫК СТРУКТУРИРОВАННЫХ ЗАПРОСОВ - SQL - Structured Query Language
    SELECT — осуществляет выборку данных из таблиц по запросу.
    SELECT */{DISTINCT/ALL]<список полей>.,…}

    FROM {<имя таблицы>/[<алиас>]}.,...

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

    [GROUP BY {<имя столбца>/<целое>}, ..]

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

    ORDER BY [{<имя столбца>/<целое>}.,..]
    COUNT - число значений в столбце

    SUM - сумма значений по столбцу

    AVG - среднее значение в столбце

    МАХ - самое большое значение в столбце

    MIN - самое малое значение в столбце

    UPPER - перевод строки в верхний регистр
    3. Структура предложения SELECT, условия выбора (понятие алиаса, возможности параметра WHERE). Соединение таблиц. Выборка вычисляемых значений. Выборка с исключением дубликатов (DISTINCT).
    SELECT column_name FROM table_name
    «Алиас» - временный синоним имени таблицы, которое определяется и используется только в одной команде.

    SELECT column AS column_alias FROM table;
    SELECT column FROM table AS table_alias;

    SELECT LastName AS Family, FirstName AS Name FROM Persons;

    Предложение WHERE позволяет определить условие. В случае его истинности строка таблицы будет заноситься в результат.
    SELECT column FROM table

    WHERE column operator value;


    =

    Равно

    <>

    Не равно

    >

    Больше чем

    <

    Меньше чем

    >=

    Больше или равно

    <=

    Меньше или равно

    BETWEEN

    Между

    LIKE

    Похоже на


    WHERE_FirstName=Tove;_SELECT_*_FROM_Persons_WHERE_Year>1965;_SELECT_*_FROM_Store_Information__WHERE_store_name_LIKE_%AN%‘;'>SELECT * FROM Persons WHERE FirstName='Tove';
    SELECT * FROM Persons WHERE Year>1965;
    SELECT * FROM Store_Information

    WHERE store_name LIKE '%AN%‘;
    SELECT * FROM Persons

    WHERE LastName BETWEEN 'Hansen' AND 'Pettersen';
    SELECT * FROM Persons

    WHERE LastName NOT BETWEEN 'Hansen' AND 'Pettersen';
    Соединение таблиц.
    Объединение двух таблиц по общему полю "Номер_Поставщика":
    SELECT Поставщики.*, Детали.*

    FROM Поставщики, Детали

    WHERE Поставщики.Номер_Поставщика = Детали.Номер_Поставщика;
    Параметр JOIN помещает (объединяет) информацию из двух таблиц в одно результирующее множество, которое можно представить в виде “виртуальной таблицы”. С этим множеством можно работать как с обычной таблицей и использовать его для других подзапросов.
    Параметр INNER JOIN является наиболее распространенным видом JOIN, он объединяет записи на основе одного или более общих полей, но возвращает только те записи, для которых имеет место соответствие по полям, указанным в JOIN.

    SELECT список>

    FROM <первая_таблица>

    INNER JOIN <вторая_таблица>

    ON <условие_объединения>
    OUTER JOIN является включающим объединением. Объединение происходит по совпадающим данным, но также в случае LEFT включается вся информация из левой таблицы, RIGHT- из правой, FULL включает всю информацию из обеих таблиц.

    OUTER JOIN

    SELECT список>

    FROM <первая_таблица (считается левой)>

    {LEFT|RIGHT|FULL} [OUTER] JOIN <вторая_таблица (считается правой)>

    ON <условие_объединения>

    CROSS JOIN (перекрестное объединение) объединяет каждую запись с одной стороны JOIN с каждой записью с другой стороны JOIN.

    SELECT список>

    FROM <первая_таблица >

    CROSS JOIN <вторая_таблица >
    Выборка вычисляемых значений
    SELECT Название, 'Вес в граммах = ', Вес / 1000

    FROM P;
    Выборка с исключением дубликатов (DISTINCT):
    Аргумент DISTINCT позволяет исключить дублирования значений из результата.

    ALL принимает значения по умолчанию и оказывает противоположное действие аргументу DISTINCT.
    SELECT DISTINCT column_name(s) FROM table_name;


    Экзаменационный билет № 6
    1. Способы визуализации структур данных. ER-диаграммы.
    ERwin - CASE-средство для моделирования баз данных.
    CASE - Computer-Aided Software Engineering - автоматизированная разработка программного обеспечения.
    ERwin – мощное средство графического проектирования баз данных, использующее ERD-диаграммы (Entity Relational Diagram – диаграммы сущность-связь).

    С помощью ERwin можно создавать или проводить обратное проектирование (реинжиниринг) баз данных.
    Различают три уровня логической модели, отличающихся по глубине представления информации о данных:

    • диаграмма сущность-связь (Entity Relationship Diagram, ERD);

    • модель данных, основанная на ключах (Key Based model, KB);

    • полная атрибутивная модель (Fully Attributed model, FA).

    Диаграмма сущность-связь представляет собой модель данных верхнего уровня. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, которые удовлетворяют основным' требованиям, предъявляемым к ИС. Диаграмма сущность-связь может включать связи многие-ко-многим и не включать описание ключей. Как правило, ER-диаграмма используется для презентаций и обсуждения структуры данных с экспертами предметной области.
    В стандарте IDEF1X определены типы связей:




    Идентифицирующая

    связь



    Неидентифицирующая

    связь



    Рекурсивная связь



    Связь типа “многие-комногим”



    Связь супертипа с подтипами

    2. Способы классификации СУБД.
    БАЗА ДАННЫХ (БД) – именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

    СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД) – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного применения БД многими пользователями.
    ФУНКЦИИ СУБД:

    • управление данными во внешней памяти;

    • управление буферами оперативной памяти;

    • управление транзакциями;

    • журнализация и восстановление БД после сбоев;

    • поддержание языков БД.


    По поддерживаемым типам структур данных (по модели данных): - иерархические - сетевые - реляционные - объектно-ориентированные – на основе инвертированных списков.
    Иерархические:

    Основные особенности:

    • Строится иерархия (предки, потомки).

    • Предки и потомки. Один предок – множество потомков.

    • Частичная поддержка целостности в переделах дерева - основное правило: никакой потомок не может существовать без своего родителя.

    Типовые операторы манипулирования:

    найти указанное дерево БД; перейти от одного дерева к другому;

    перейти от одной записи к другой внутри дерева; перейти от одной записи к другой в порядке обхода иерархии; вставить новую запись в указанную позицию; удалить текущую запись.

    Типичный пример: Information Management System (IMS) фирмы IBM (1968).
    Сетевые:

    Основные особенности:

    • Сетевой подход к организации данных является расширением иерархического подхода. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

    • Ограничения целостности не требуется, но иногда требуют целостности по ссылкам (как в иерархической модели).

    Манипулирование данными:

    найти конкретную запись в наборе однотипных записей; перейти от предка к первому потомку по некоторой связи; перейти к следующему потомку в некоторой связи; перейти от потомка к предку по некоторой связи; создать новую запись; уничтожить запись; модифицировать запись; включить в связь; исключить из связи; переставить в другую связь и т.д.

    Типичный пример: Integrated Database Management System (IDMS), компания Cullinet Software, Inc., США, 1971 г. Предназначенная для использования на мэйнфреймах IBM. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL).
    Реляционная БД представляет собой совокупность таблиц, связанных отношениями. Основные понятия: “таблица”, “отношение”, “строка”, “первичный ключ”. Все операции над реляционной базой данных сводятся к манипуляциям с таблицами.

    Связь между таблицами существует на логическом уровне и определяется предметной областью. Практически связь между таблицами устанавливается путем использования логически связанных данных в разных таблицах. Для работы с реляционными СУБД используется стандартизированный язык структурированных запросов SQL. Достоинствами реляционной модели данных являются простота, гибкость структуры, удобство реализации на компьютере, высокая стандартизированность и использование математического аппарата реляционной алгебры и реляционного исчисления. К недостаткам можно отнести ограниченность и предопределенность набора возможных типов данных. Это затрудняет использование реляционных моделей для некоторых современных приложений.

    Примеры: SQL/DS, DB2 Universal Database – IBM; Oracle; MS SQL Server; Adaptive Server Enterprise и Adaptive Server IQ – компании Sybase; Teradata Database; Netezza Performance Server 8000 Series; Postgress; MySQL; Firebird
    Объектно-ориентированные управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.

    Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования.

    Примеры: GemStone.
    На основе инвертированных списков:

    Основные особенности:

    • Данные хранятся в таблицах. Записи таблиц фиксированной длины, состоящие из множества различных типов полей, упорядочены в некоторой последовательности.

    • Для каждой таблицы строится произвольное число индексов (инвертированных списков), хранимых в отдельных файлах. Индексы автоматически поддерживаются системой.

    • Пути доступа к таблицам и спискам видны пользователям.

    • Общие определения целостности базы данных отсутствуют.

    Типовые операторы манипулирования:

    НАЙТИ ПЕРВУЮ ЗАПИСЬ, НАЙТИ ПЕРВУЮ ПО КЛЮЧУ, НАЙТИ СЛЕДУЮЩУЮ, ОБНОВИТЬ, УДАЛИТЬ, ДОБАВИТЬ ПУСТУЮ ЗАПИСЬ, ИЗМЕНИТЬ ПОЛЕ ЗАПИСИ.

    Типичный пример: Adabas/Natural, фирма Softvare AG, Германия 1966 г.

    Другой типичный представитель: Datacom/DB компании Applied Data Research, Inc. (ADR) ; dBase, Clipper, FoxPro, Paradox.
    По типу хранимой информации БД: - фактографические БД -документальные БД - текстовая база данных - гипертекстовая база данных - полнотекстовая база данных - численно-текстовая база данных К лексикографическим БД относятся различные словари, классификаторы, рубрикаторы и т. д. Они обычно используются в качестве справочных совместно с документальными или фактографическими БД.

    В документальных БД единицей хранения является документ (например, текст закона или статьи). Поиск и выдача документов происходит по их содержанию. Простейший метод поиска базируется на использовании дескрипторов – ключевых слов из проблемной области, характеризующих содержание документа. Их совокупность, выделенная из запроса, сопоставляется с дескрипторами документа («поисковым образцом»). В ответ на запрос пользователя выдается либо ссылка на документ, либо сам документ, в котором он может найти интересующую его информацию.

    В системах фактографического типа в БД хранится информация об интересующих пользователя объектах предметной области в виде «фактов» (например, биографические данные о сотрудниках, данные о выпуске продукции производителями и т. п.). В ответ на запрос пользователя выдается требуемая ему информация или сообщение о том, что искомая информация отсутствует в БД.
    К персональным СУБД относятся Visual FoxPro, Paradox, Clipper, dBase, Access и др. К многопользовательским СУБД относятся, например, СУБД Oracle и Informix.

    Многопользовательские СУБД (уровня рабочей группы, масштаба предприятия, корпоративные) включают в себя сервер БД и клиентскую часть, работают в неоднородной вычислительной среде — допускаются разные типы ЭВМ и различные операционные системы. Поэтому на базе СУБДМ можно создать информационную систему, функционирующую по технологии клиент-сервер. Универсальность многопользовательских СУБД отражается соответственно на высокой цене и компьютерных ресурсах, требуемых для их поддержки.

    СУБДП представляет собой совокупность языковых и программных средств, предназначенных для создания, ведения и использования БД.
    По физической организации (по организации и технологии обработки данных, базы данных): централизованные, распределённые.

    База данных, расположенная на одном компьютере (сервере), называется централизованной, а на нескольких соединённых сетями ПК — распределённой.
    По способу доступа к БД:

    - файл-серверные - клиент-серверные - встраиваемые

    В зависимости от размера БД и ее расположения можно выделить

    - портативные БД, небольшие БД, - сетевые БД, - распределенные БД

    В зависимости от технологии хранения:

    - БД во вторичной памяти - БД в оперативной памяти - БД в третичной памяти

    3. Основные возможности языка SQL. Предложения SQL.
    ЯЗЫК СТРУКТУРИРОВАННЫХ ЗАПРОСОВ - SQL - Structured Query Language

    SQL - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на реляционной алгебре.

    SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных. SQL не является языком программирования.

    Язык SQL представляет собой совокупность операторов.
    Структура SQL (операторы):

    Операторы определения данных (Data Definition Language, DDL)

    1. CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т.д.)

    2. ALTER изменяет объект

    3. DROP удаляет объект

    Операторы манипуляции данными (Data Manipulation Language, DML)

    1. SELECT считывает данные, удовлетворяющие заданным условиям

    2. INSERT добавляет новые данные

    3. UPDATE изменяет данные

    4. DELETE удаляет данные

    Операторы определения доступа к данным (Data Control Language, DCL)

    1. GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом

    2. REVOKE отзывает ранее выданные разрешения

    3. DENY задает запрет, имеющий приоритет над разрешением Операторы управления транзакциями (Transaction Control Language, TCL)

    1. COMMIT применяет транзакцию.

    2. ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.

    3. SAVEPOINT делит транзакцию на более мелкие участки
    1   2   3   4   5   6


    написать администратору сайта