Базы данных

Автор работы: Пользователь скрыл имя, 23 Октября 2011 в 21:07, лекция

Краткое описание

Важнейшая задача компьютерных систем - хранение и обработка данных. Для ее решения были предприняты усилия, которые привели к появлению специализированного программного обеспечения - систем управления базами данных (database management systems). СУБД позволяют структурировать, систематизировать и организовать данные для их компьютерного хранения и обработки.

Содержимое работы - 1 файл

КонспектБД.doc

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

      МАТЕРИАЛЫ К ТЕМЕ «Базы данных» (Data Base) 

      Важнейшая задача компьютерных систем - хранение и обработка данных. Для ее решения  были предприняты усилия, которые привели к появлению специализированного программного обеспечения - систем управления базами данных (database management systems). СУБД позволяют структурировать, систематизировать и организовать данные для их компьютерного хранения и обработки.

      В широком смысле слова база данных - это совокупность описаний объектов реального мира и связей между ними, актуальных для конкретной прикладной области. В традиционной терминологии объекты реального мира, сведения о которых хранятся в базе данных, называются сущностями - entities (общепринятый термин), а их актуальные признаки (свойства) - атрибутами  (attributes).  Например, каждый признак конкретного объекта есть значение атрибута.  Так, деталь "двигатель" имеет значение атрибута "вес", равное "50", что отражает тот факт, что данный двигатель весит 50 килограммов.

       Проектирование  БД

       СУБД является посредником между БД и пользователями. Возможности СУБД:

    • Позволяет определять БД (с помощью языка определения данных – DDL- Data Definition Language) – задать типы данных, их структуру, свойства и ограничения.
    • Позволяет вставлять, обновлять, извлекать, удалять информацию из БД (помощью языка управления данными – DML – Data Manipulation Language) – языка запросов.
    • Предоставляет доступ к БД с помощью след. средств:

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

    б) системы  поддержки целостности данных – непротиворечивого состояния данных

    в) системы  управления параллельной работой приложений (процессы совместного доступа к  БД)

    г) системы  восстановления – восстановление БД до предыдущего непротиворечивого  состояния после сбоя

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

      Реляционная база данных - основные понятия

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

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

      

Деталь

Наименование  детали Номер детали

Материал

Вес (кг) Количество
Подшипник 1 Сталь 1,2 100
Втулка 2 Цинк 0,8 250
Обод 3 Никель 0,55 32
Втулка 4 Олово 0,35 10
Двигатель 5 Сталь 50 23
 

      Так, таблица Деталь содержит сведения о всех деталях, хранящихся на складе, а ее строки являются наборами значений атрибутов конкретных деталей. Каждый столбец таблицы - это совокупность значений конкретного атрибута объекта. Так, столбец Материал представляет собой множество значений "Сталь", "Олово", "Цинк", "Никель" и т. д. В столбце Количество содержатся целые неотрицательные числа.  Значения в столбце Вес - вещественные числа, равные весу детали в килограммах.

      Эти значения не появляются из воздуха. Они  выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain). Так, значения в столбце материал выбираются из множества имен всех возможных материалов - пластмасс, древесины, металлов и т. д. Следовательно, в столбце Материал принципиально невозможно появление значения, которого нет в соответствующем домене, например, "вода" или "песок".

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

      В отличие от столбцов, строки не имеют  имен; порядок их следования в таблице  не определен, а количество логически  не ограничено. Так как строки в  таблице не упорядочены, невозможно выбрать строку по ее позиции - среди них не существует "первой", "второй", "последней". Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице Деталь первичный ключ - это столбец Номер детали. В нашем примере каждая деталь на складе имеет единственный номер, по которому из таблицы Деталь извлекается необходимая информация. В этом столбце значения не могут дублироваться - в таблице Деталь не должно быть строк, имеющих одно и то же значение номера детали. Если таблица удовлетворяет этому требованию, она называется отношением (relation).

      Взаимосвязь таблиц является важнейшим элементом  реляционной модели данных. Она поддерживается внешними ключами (foreign key).

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

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

      Для того, чтобы гарантировать корректность и взаимную непротиворечивость данных, на базу данных накладываются некоторые ограничения, которые называют ограничениями целостности (data integrity constraints).

      Существует  несколько типов ограничений  целостности. Требуется,  например, чтобы значения в столбце таблицы выбирались только из соответствующего домена. На практике учитывают и более сложные ограничения целостности, например, целостность по ссылкам (referential integrity). Ее суть заключается в том,  что внешний ключ не может быть указателем на несуществующую строку в таблице. Ограничения целостности реализуются с помощью специальных средств.

 

       Язык SQL

      Доступ  к данным осуществляется в виде запросов к базе данных, которые формулируются  на стандартном языке запросов. Сегодня для большинства СУБД таким языком является SQL (Structured Query Language)

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

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

      SELECT Выбрать данные из базы данных 

      INSERT Добавить данные в базу данных 

      UPDATE Обновить данные в базе данных 

      DELETE Удалить данные из базы данных 

      GRANT Предоставить привилегии пользователю 

      REVOKE Отменить привилегии пользователя

      COMMIT Зафиксировать текущую транзакцию 

      ROLLBACK Прервать текущую транзакцию 

      В запросах на языке SQL используются имена, которые однозначно идентифицируют объекты базы данных.Например,

      SELECT Название, Количество  FROM Деталь;

      Результатом запроса будет таблица с двумя столбцами - Название и Количество, которые взяты из исходной таблицы Деталь.

      Запрос "какие детали, изготовленные  из стали, хранятся на складе? ", сформулированный на языке SQL, выглядит так:

      SELECT *  FROM Деталь  WHERE Материал = 'Сталь'; 

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

      Технология  и модели "клиент-сервер".

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

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

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

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

      Основной  принцип технологии "клиент-сервер"  заключается в разделении функций  приложения на четыре группы, имеющие  различную природу. В соответствии с этим в любом приложении выделяются следующие логические компоненты:

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

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

Информация о работе Базы данных