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

  • 14. Формы ввода-вывода данных

  • 17. Запросы в MS Access.

  • 37. Создание, модификация и уничтожение таблиц. Ограничения на множество допустимых значений данных. Значение по умолчанию.

  • 38. Создание и уничтожение индексов. Поддержка ссылочной целостности

  • 18. Параметры запросов на выборку данных

  • 19. Перекрестные запросы

  • 20. Многотабличные запросы и схема данных.

  • 21. Понятие технологии "клиент-сервер".

  • 22. Общие сведения о языке запросов SQL.

  • 42. Сервер баз данных, базовые понятия.

  • 23. Сетевые БД, архитектура «файл-сервер», «клиент-сервер».

  • Выборка отдельных столбцов

  • Шпаргалка. шпоры. Информация это результат преобразования и анализа данных. Отличие информации от данных состоит в том, что данные это фиксированные сведения о событиях и явлениях,


    Скачать 143.29 Kb.
    НазваниеИнформация это результат преобразования и анализа данных. Отличие информации от данных состоит в том, что данные это фиксированные сведения о событиях и явлениях,
    АнкорШпаргалка
    Дата03.12.2019
    Размер143.29 Kb.
    Формат файлаdocx
    Имя файлашпоры.docx
    ТипДокументы
    #98292
    страница2 из 5
    1   2   3   4   5
    1   2   3   4   5

    9. Нормализация БД, определение 1НФ, 2НФ, 3НФ

    Нормальные формы

    . • Нормальная форма – совокупность ограничений, накладываемых на схему отношения. Ограничения исключают аномалии при работе с базой данных.

    • Нормализация состоит в получении из исходного набора отношений нормализованных отношений, каждое из которых находится в НФ как можно более высокого порядка.

    Определение 1НФ Формальное определение:

    Переменная отношения R находится в первой нормальной форме (1НФ) тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.

    Неформальное определение:

    1) Все строки должны быть различными.

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

    Замечание: Любое реляционное отношение находится в 1НФ (по определению реляционного отношения).

    Определение 2НФ Формальное определение:

    Отношение находится в 2НФ тогда и только тогда, когда

    1) оно находится в 1НФ

    2) каждый неключевой атрибут функционально полно зависит от каждого ключа отношения.
    Неформальное определение для таблицы с единственным ключом:

    1) Таблица должна находиться в первой нормальной форме.

    2) Любое ее поле, не входящее в состав первичного ключа, функционально зависит только от всех атрибутов ключа и не зависит от его отдельных атрибутов.

    Замечание: Если таблица c единственным ключом приведена к первой нормальной форме и у нее установлен уникальный id для каждой строки, то она находится во второй нормальной форме.

    Определение 3НФ Формальное определение:

    Отношение находится в 3НФ тогда и только тогда, когда

    1) оно находится в 2НФ

    2) каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

    Неформальное определение:

    1) Таблица находится во второй нормальной форме.

    2) Любой ее неключевой атрибут функционально зависит только от первичного ключа.


    14. Формы ввода-вывода данных

    В Access 2007 можно вводить данные непосредственно в таблицу в режиме таблица. Но обычно для ввода данных в БД Access 2007 используют формы (forms). Form ускоряет работу с базой данных. Form в БД - это структурированное интерактивное окно с элементами управления, в котором отображаются поля одной или нескольких таблиц или запросов.

    Форму можно использовать для ввода, изменения или отображения данных из таблицы или запроса. Форма может содержать графики, рисунки и другие внедренные объекты.

    Формы в БД Access можно создавать с помощью различных средств:

    • инструмента Форма;

    • инструмента Разделенная форма;

    • инструмента Несколько элементов;

    • инструмента Пустая форма;

    • Мастера form;

    • Конструктора form.


    17. Запросы в MS Access.

    Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

    Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса.

    В Access может быть создано несколько видов запроса:

    •запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;

    •запрос на создание таблицы — выбирает данные из взаимосвязанных таблиц и других запросов, но, в отличие от запроса на выборку, результат сохраняет в новой постоянной таблице;

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

    37. Создание, модификация и уничтожение таблиц. Ограничения на множество допустимых значений данных. Значение по умолчанию.

    В теории практики баз данных всегда различают 2 понятия: язык манипулирования данными (ЯМД) и язык описания данных (ЯОД). К ЯМД относятся рассмотренные выше команды SQL, а к ЯОД относятся команды создания таблиц и связей между ними. Речь идёт не только об описании состава и формата полей, но и о значении по умолчанию и ограничении на множество допустимых значений. Всё это определяется не на уровне конкретных записей, а как свойство определяемых таблиц данных и совокупностей таблиц.

    Создание таблиц может быть выполнено командой языка ЯМД на основе данных из уже существующих таблиц. Это типичная форма хранения промежуточных данных. Формат это команды имеет следующий вид:

    SELECT список_полей INTO новая_таблица FROM источник;

    Модификация таблицы

    Иногда встречаются случаи, когда структуру таблицы нужно изменить. Проще всего удалить ее оператором DROP и создать новую таблицу с этим же именем, и с новой структурой. Но таблица может уже содержать какие-то данные, или изменения должны быть небольшими: добавить новый столбец (столбцы) или удалить парочку существующих столбцов.

    Удаление таблиц

    Нередко возникает необходимость удалить из базы данных созданную ранее таблицу. Делается это оператором DROP.

    Этот же оператор используется для удаления доменов, представлений, триггеров и т.д.

    Удаление таблицы

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

    Синтаксис команды, осуществляющей удаление пустой таблицы, имеет следующий вид:

    DROP TABLE <имя таблицы>;

    Значения по умолчанию

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

    Для создания умолчания в системах управления базами данных используется уже знакомая нам по прохождению пользовательского типа данных функция Create. Только в случае создания значения по умолчанию используется также дополнительное ключевое слово default, которое и означает «умолчание». Другими словами, чтобы создать в имеющейся базе данных значение по умолчанию, необходимо использовать следующий оператор: Create default имя умолчания

    As константное выражение;



    38. Создание и уничтожение индексов. Поддержка ссылочной целостности 

    Индекс – это упорядоченный список содержимого столбцов или группы столбцов в таблице. Индекс также служит для быстрого нахождения записей, для которых значение поля находится в определённых пределах. Быстро отсортировать записи по совпадающему значению поля, извлечь записи из таблицы в отсортированных последовательностях и т.д. Будучи однажды созданным, индекс остаётся невидимым для пользователя. SQL сам решит, когда воспользоваться индексом и сделает это автоматически. Также автоматически выполнится обновление индекса при обновлении индексируемой таблицы.

    Индекс может быть непосредственно создан командами CREATE TABLE и ENTER TABLE. Формат этой команды имеет следующий вид:

    CREATE [UNIQUE] INDEX имя_таблицы ON имя_таблицы (имя_столбца, … , имя_столбца ); 

    Где:

    UNIQUE – значение индекса должно быть уникальным в таблице. SQL отслеживает уникальность индекса и не позволяет изменить БД так, чтобы уникальность нарушилась. Такой индекс нельзя создать, если таблица содержит записи с повторяющимися значениями поля. Уникальные индексы следует создавать одновременно с созданием таблиц.

    имя_индекса уникально в базе данных.

    имя_таблицы – имя индексируемой таблицы

    имя_столбца – это имя столбца таблицы по значению которого строится индекс. Если указано несколько столбцов, индексы упорядочиваются по значению первого столбца, при совпадении значения – второго и т.д.   

    zavcaf char (3) FEFERENCES преподаватель (pnum);

    При определении таблицы с внешним ключом можно определить или ограничить выполнение действий над таблицей с родительским ключом: 

    1. Запретить удаление записи или обновление родительского ключа при наличии связанных записей в таблице с внешним ключом. 

    UPDATE/DELETE OF родительская_табл RESTRICTED; 

    1. При удалении записи или обновлении родительского ключа автоматически удалять или обновлять записи с тем же внешним ключом.

    UPDATE/DELETE OF родительская_табл CASCADES;

    1. При удалении записи или обновлении родительского ключа, значение внешнего ключа автоматически устанавливается в NULL. 

    UPDATE/DELETE OF родительская_табл NULLS;


    18. Параметры запросов на выборку данных

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

    Запрос – это вопрос, который вы формулируете для таблицы или таблиц базы данных, т.е. пользователь формулирует некоторые условия, а Access извлекает соответствующие данные из таблиц. Таким образом, запросы позволяют ограничить диапазон просмотра данных, извлекая при этом поля из одной или нескольких таблиц.

    В Access можно создать следующие запросы:

    • простой на выборку

    • на добавление

    • на обновление

    • на создание таблицы

    • для удаления одной или нескольких записей из базы данных

    • для подсчета данных

    • как источник записей для формы или отчета

    • на поиск, скрытие и удаление повторяющихся данных

    • на поиск записей с самыми последними или самыми давними датами

    • на поиск записей, содержащих наибольшие или наименьшие значения в группе или в поле

    Запросы можно сохранять и использовать многократно.

    Если необходимо, выберите другую таблицу (или запрос) из раскрывающегося списка Таблицы и Запросы и добавьте некоторые из ее полей в список Выбранные поля (эта возможность позволяет собирать в запросе данные из нескольких таблиц). Когда закончите добавлять поля, щелкните на кнопке далее.

    Существует два способа создания запросов:

    • - с помощью мастера

    • - с помощью конструктора.

    Режим конструктора позволяет не только создать запрос, но и модифицировать уже существующий. Открыв запрос в режиме конструктора, можно добавлять поля, задавать условия отбора, устанавливать параметры, определять порядок сортировки и обобщать информацию.


    19. Перекрестные запросы

    Перекрестные запросы — это запросы, в которых происходит статистическая обработка данных, результаты которой выводятся в виде таблицы, очень похожей на сводную таблицу Excel. Перекрестные запросы обладают следующими достоинствами:


    • возможностью обработки значительного объема данных и вывода их в формате, который очень хорошо подходит для автоматического создания графиков и диаграмм;

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


    Однако они имеют и недостатки

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

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

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

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


    20. Многотабличные запросы и схема данных.

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

    - активизировать окно базы данных;

    - создать запрос в режиме конструктора (Создание > Другие > Конструктор запросов);

    - выбрать требуемые таблицы в открывшемся диалоговом окне «Добавление таблицы», после чего закрыть диалоговое окно.

    В результате указанных действий на экране отобразится окно запроса. В нижней панели размещен бланк QBE, в котором следует создать запрос, включив требуемые поля из выбранных таблиц. При составлении запросов к связанным таблицам можно вводить критерии поиска, определять вычисляемые поля, а также вычислять итоговые значения. При создании итоговых запросов следует использовать команду Итоги (Конструктор > Показать или скрыть), чтобы для каждого поля выбрать соответствующую групповую функцию.

    После определения нескольких таблиц необходимо сообщить Access, как данные таблицы связаны друг с другом, поскольку эти связи Access будет использовать в запросах, формах и отчетах.

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

    Составить список всех сотрудников, работающих в Минском отделении.

    SELECT fnamelnamepositionS.tel_no

    FROM branch Bstaff S

    WHERE B.bno=S.bno AND city=‘Минск’;

    При отработке запроса СУБД должна произвести ряд действий, связанных с соединением таблиц branch и staff. Так сначала просматривается столбец city с целью фильтрации строк со значениями отличными от значения ‘Минск’, далее для отфильтрованных строк таблицы определяются значения столбца bno как идентификаторов Минских отделений. После этого просматривается таблица staff F с целью выявления строк со значениями в столбце bno соответствующими идентификатору первого выявленного Минского офиса. В найденных строках оставляются значения столбцов указанных после ключевого слова SELECT . Далее эта же таблица просматривается для выявления строк соответствующих “второму” Минскому офису и т. д. до последнего. В итоге формируется таблица результатов с запрошенной информацией.


    21. Понятие технологии "клиент-сервер".

    "Клиент-сервер" — это модель взаимодействия компьютеров в сети. Как правило, компьютеры не являются равноправными. Каждый из них имеет свое, отличное от других, назначение, играет определенную роль. Некоторые компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами, такими как процессоры, файловая система, почтовая служба, служба печати, база данных. Другие имеют возможность обращаться к этим службам, пользуясь услугами первых. Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться — клиентом. Конкретный сервер определяется видом ресурса, которым он владеет. Так, если ресурсом являются базы данных, то речь идет о сервере баз данных, назначение которого — обслуживать запросы клиентов, связанные с обработкой данных; если ресурс — это файловая система, то говорят о файловом сервере или файл-сервере и т.д.

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

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

    Если предполагается, что проектируемая информационная система (ИС) будет построена по технологии "клиент-сервер", то это означает, что прикладные программы, реализованные в ее рамках, будут иметь распределенный характер. Иными словами, часть функций прикладной программы (или, проще, приложения) будет реализована в программе-клиенте, другая — в программе-сервере, причем для их взаимодействия будет определен некоторый протокол.


    22. Общие сведения о языке запросов SQL.

    Рост количества данных, необходимость их хранить и обрабатывать привели к тому, что возникла потребность в создании стандартного языка запросов к базам данных, который мог бы функционировать в большом количестве различных видов компьютерных систем. Действительно, такой стандартный язык позволяет пользователям манипулировать данными независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.

    SQL (Structured Query Language) – это сокращенное название структурированного языка запросов, предоставляющего средства создания и обработки данных в реляционных базах. Независимость от специфики компьютерных технологий, а также поддержка SQL лидерами промышленности в области технологии реляционных баз данных сделали его основным стандартным языком запросов.

    Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволила создать компактный язык с небольшим набором предложений. SQL может использоваться как для выполнения запросов, так и для построения прикладных программ.

    В языке SQL существуют: предложения определения данных – определение базы данных а также определение и уничтожение таблиц и индексов; запросы на выбор данных – предложение SELECT; предложения модификации данных – добавление, удаление и изменение данных; предложения управления данными – предоставление и отмена привилегий на доступ к данным, управление транзакциями и другие.
    42. Сервер баз данных, базовые понятия.

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

    Архитектура клиент-сервер состоит из клиентов и серверов. Основная идея состоит в том, чтобы размещать серверы на мощных машинах, а приложениям, использующим языковые компоненты СУБД, обеспечить доступ к ним с менее мощных машин-клиентов посредством внешних интерфейсов.

    База данных — это организованная структура, предназначенная для хранения информации.


    23. Сетевые БД, архитектура «файл-сервер», «клиент-сервер».

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

    Централизованные базы данных с сетевым доступом могут иметь следующую архитектуру: файл-сервер; клиент-сервер базы данных;



    Рис. 1.  Схема работы с БД в локальной сети с выделенным файловым сервером

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



    Рис. 2. Схема работы с БД в архитектуре "Клиент-сервер"

    Клиент-сервер. В этой архитектуре на выделенном сервере, работающем под управлением серверной операционной системы, устанавливается специальное программное обеспечение (ПО) - сервер БД, например, Microsoft SQL Server или Oracle. СУБД подразделяется на две части: клиентскую и серверную. Основа работы сервера БД - использование языка запросов (SQL). Запрос на языке SQL, передаваемый клиентом (рабочей станцией) серверу БД, порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту (см. рис. 2.). Тем самым, количество передаваемой по сети информации уменьшается во много раз.


    24.

    Язык SQL: общие сведения о языке, роль и место в современных СУБД, стандарт ANSI

    SQL представляет собой непроцедурный (декларативный) язык, используемый для управления данными реляционных СУБД. Термин «непроцедурный» означает, что на данном языке можно сформулировать, что нужно сделать с данными, но не требуется указывать, как именно это следует сделать. В этом языке отсутствуют алгоритмические конструкции, такие как метки, условные переходы, операторы цикла и др. Таким образом, язык SQL скрывает от пользователя сложности алгоритмов поиска данных и их реализации, обеспечивая простоту понимания и легкость манипулирования данными. Язык SQL главным образом ориентирован на удобную и понятную пользователям формулировку запросов выбора из БД, однако его функции шире – с самого начала этот язык задумывался как полный язык БД. в 1986 году был принят стандарт SQL-86 (SQL-1). После появления первого международного стандарта языка работа в этой области продолжилась, и в 1992 г. был принят второй международный стандартSQL-92 (SQL-2), в 1999 г. появляется объектно-ориентированный язык SQL:1999 (SQL-3), а в 2003 г. принят стандарт SQL:2003. Каждый стандарт представляет собой многостраничный документ сложной структуры. Достоинства: с помощью SQL пользователь может в интерактивном режиме быстро получить ответы на любые, в том числе достаточно сложные запросы, тогда как для программной реализации этих запросов на другом языке пришлось бы разрабатывать соответствующую программу.

    Разработанный в результате стандарт в большой степени был основан на диалекте SQL системы DB/2, хотя и содержал в себе ряд существенных отличий от этого диалекта. После нескольких доработок, в 1986 году стандарт был официально утвержден как стандарт ANSI номер Х3.135, а в 1987 году — в качестве стандарта ISO. Затем стандарт ANSI/ISO был принят правительством США как федеральный стандарт США по обработке информации (FIPS — Federal Information Processing Standard). Этот стандарт, незначительно пересмотренный в 1989 году, обычно называют стандартом "SQL-89", ил"SQLI". Когда в данной книге упоминается "стандарт ANSI/ISO", то подразумевается SQLI, который в настоящее время лежит в основе большинства коммерческих продуктов.


    25.

    SELECT – наиболее часто используемый SQL оператор. Он предназначен для выборки информации из таблиц. Чтобы при помощи оператора SELECT извлечь данные из таблицы, нужно указать как минимум две вещи — что вы хотите выбрать и откуда

    .Выборка отдельных столбцов

    SELECT [Description]

    FROM Product

    В приведенном выше операторе используется оператор SELECT для выборки одного столбца под названием Description из таблицы Product. Искомое имя столбца указывается сразу после ключевого слова SELECT, а ключевое слово FROM указывает на имя таблицы, из которой выбираются данные.


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