Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лекция 9 Базы данных
|
Банк данных (БнД) автоматизированная информационная система централизованного хранения и коллективного использования данных. В его состав входят одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ.
Основными функциями БнД являются:
Хранимая информация размещается в базах данных.
База данных (БД) это поименованная совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, не зависящая от прикладных программ.
Кроме данных, база содержит методы и средства, позволяющие каждому из сотрудников оперировать только с теми данными, которые входят в его компетенцию.
В результате взаимодействия данных, содержащихся в базе, с методами, доступными конкретным сотрудникам, образуется информация, которую они потребляют и на основании которой в пределах собственной компетенции производят ввод и редактирование данных.
БД состоит из записей, записи делятся на поля. Запись является наименьшей единицей обмена данными между оперативной и внешней памятью, поле наименьшей единицей обработки данных.
СУБД это совокупность программ и языковых средств, предназначенных для создания, редактирования и использования БД.
Основной составной частью СУБД является ее ядро управляющая программа, предназначенная для автоматизации всех процессов, связанных с обращением к базам данных. После запуска СУБД ее ядро постоянно находится в основной памяти и организует обработку поступающих запросов, управляет очередностью их выполнения, взаимодействует с прикладными программами и операционной системой.
Другой частью СУБД является набор обрабатывающих программ: трансляторов с языков описания данных, языков запросов и языков программирования, редакторов, отладчиков.
Таким образом, типовой состав банка данных можно представить как совокупность базы данных, СУБД и прикладных программ.
В БнД может быть больше одной БД.
Для выполнения главных функций информационной системы существует комплекс средств, называемый обеспечением БнД.
Он включает:
В настоящее время известны три логические модели БД:
Иерархическая модель данных представляет собой дерево графа, в вершинах которого располагаются записи. Между записями существуют отношения предок/потомок, связывающие каждый конкретный узел с его составляющими. Каждая из вершин связана только с одной вершиной вышележащего уровня.
Поиск данных в такой структуре выполняется всегда по одной из ветвей, начиная с корневого элемента, т.е. должен быть указан полный путь движения по ветви. Так для поиска и выборки одного или нескольких экземпляров записи типа “Студент” необходимо указать корневой элемент “Факультет” и элементы “Курс”, “Группа”. Достоинствами данной СУБД являлась простота модели данных, а также высокое быстродействие.
Если структура данных оказывалась сложнее, чем традиционная иерархия, то простота организации иерархической базы данных становилась ее недостатком. Например, если рассмотреть работу торговой компании, то один заказ может участвовать в нескольких отношениях предок/потомок: с заказчиком, с менеджером или торговой точкой, отпустившей товар, а также с самим товаром. Однако иерархия допускает наличие только одного отношения между ее записями. В связи с этим для таких приложений была разработана сетевая модель данных, допускавшая множественные отношения типа предок/потомок.
Сетевая модель данных также использует графический способ представления данных, и схема отображается также в виде графа. Однако по сравнению с иерархической моделью никаких ограничений на количество связей, входящих в каждую вершину, не накладывается, что позволяет отображать связи между объектами предметной области практически любой степени сложности, в частности кольцевые структуры.
Однако в процессе создания и эксплуатации сетевых СУБД выявились существенные недостатки. Так, изменение структуры базы данных означало перестройку всего приложения. Наборы отношений и структуру записей следовало задавать наперед. Для того чтобы получить данные, программисту необходимо было писать программу навигации по базе данных, что могло занять от нескольких дней до нескольких недель, а данные к тому времени могли устареть.
Реляционная модель данных (РМД) была попыткой упростить структуру базы данных. В ней отсутствовали явные указатели на предков и потомков, а все данные были представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении которых находятся данные. В таблицах данные распределяются по столбцам, которые называют полями, и строкам, которые называют записями. Все таблицы названы соответствующими именами.
В каждой таблице БД должен существовать первичный ключ одно или несколько полей, однозначно определяющие каждую запись таблицы. Значение первичного ключа должно быть уникальным, то есть в таблице не должно быть двух или более записей с одинаковым значением первичного ключа. С помощью ключевых полей таблицы связывают между собой в единую структуру. Именно от английского слова relation (связь) и произошло название реляционные базы данных.
Связи между таблицами
Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне “один” должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне “многие” могут повторяться.
Различают три вида связей между таблицами:
Связь один-к-одному связывает две таблицы по их ключевым полям. Это может применяться в тех случаях, когда для одного ключевого поля существует два больших блока информации, отличающиеся по смыслу. Например, паспортные данные студента (первый блок) и его успеваемость (второй блок). В этом случае создаются две таблицы, и затем они связываются по ключевому полю, предположим, по номеру зачетной книжки. При этом одной записи в таблице-потомке соответствует одна запись в таблице-предке.
Связь один-ко-многим является самой распространенной в реляционных базах данных. Приведем простой пример.
Рассмотрим таблицу ЛичныеДанные. Здесь поле КодСтудента является ключевым. Это понятно, поскольку у каждого студента должен быть свой уникальный код, идентифицирующий его однозначно. Если мы рассмотрим таблицу Успеваемость, то увидим, что в ней КодСтудента не может быть уникальным, поскольку в этой таблице хранится информация об успеваемости нескольких студентов. На схеме данных эти поля соединяются линией связи. С одной стороны эта линия маркирована значком 1, с другой стороны значком “бесконечность”. Это графический метод изображения связи “один ко многим”.
Связь многие-ко-многим реализуется при помощи промежуточной таблицы со связями один-ко-многим.
Про подобные таблицы говорят, что они связаны реляционными отношениями. Соответственно, системы управления, способные работать со связанными таблицами, называют системами управления реляционными базами данных, а схему данных в технической литературе могут называть схемой реляционных отношений.
К числу наиболее распространенных реляционных СУБД относятся dBASE, FoxBASE, FoxPro, Clipper, Clarion, Paradox и др.
Факультет
Кафедра
еканат
Дисциплина
Преподаватель
Студент
Группа
Курс
Факультет
Кафедра
Деканат
Дисциплина
Преподаватель
Студент
Группа
Курс