- •Файловый подход:
- •2. Организация интегрированной информационной базы сои – сущность подхода, достоинства и недостатки.
- •3. Понятие субд, основные функции субд.
- •4. Обеспечения безопасности и секретности данных.
- •5.Избирательный подход к обеспечению безопасности данных.Обязательный подход к обеспечению безопасности данных.
- •6. Контрольный след файла, модификация запроса как подходы к обеспечению безопасности данных.
- •7. Безопасность в статистических бд.
- •8. Проблемы обеспечения управляемой избыточности и целостности данных.
- •9. Понятие транзакции, свойства транзакции, способы завершения транзакции.
- •10.Основные подходы к обеспечению параллельного выполнения транзакций. Проблемы параллельного выполнения транзакций.
- •11. Проблема пропавших изменений.
- •12. Проблема промежуточных данных.
- •13. Проблема несогласованных данных.
- •14. Проблема данных–призраков.
- •15. Синхронизация запросов к бд с использованием блокировок. Элементы бд. Необходимость блокировки элементов бд. Элемент как примитив синхронизации. Легальное расписание.
- •16. Бесконечные ожидания. Решение проблемы бесконечного ожидания.
- •17. Тупики. Способы предотвращения тупиков.
- •18. Понятие расписания совокупности транзакций. Сериализуемое расписание.
- •19. Понятие протокола. Двухфазный протокол. Двухфазные транзакции. Типы блокировок.
- •20. Стратегия временных отметок, оптимистические стратегии.
- •21. Защита бд от отказов. Типы отказов. Архивные копии бд, Журнал бд. Зафиксированные транзакции. Стратегия двухфазной фиксации
- •23. Администрирование бд
- •25. Трехуровневая архитектура бд
- •27.Инфологический и даталогический уровни моделирования предметной области.
- •28. Классификация моделей данных
- •30. Инфологическое моделирование. Модель «сущность–связь»: Сущности,классификация и характеристика сущностей.
- •31. Инфологическое моделирование. Модель «сущность–связь»: Атрибуты, классификация и характеристика атрибутов.
- •32. Инфологическое моделирование. Модель «сущность–связь»: Связи, классификация и характеристика связи.
- •33. Инфологическое моделирование. Модель «сущность–связь»: Первичные и внешние ключи.
- •34. Инфологическое моделирование. Модель «сущность–связь»: ограничение целостности.
- •35. Документальные,тезаурусные и дескрипторные модели данных.
- •Операции над данными, определенные в иерархической модели:
- •Ограничения целостности.
- •Недостатки
- •Особенности построения сетевой модели данных
- •Преимущества
- •Недостатки
- •Операции над данными сетевой модели
- •38. Реляционная модель данных Состав реляционной модели данных
- •Достоинства и недостатки реляционной модели данных
- •40. Нормализованные отношения. Первичные и вторичные ключи отношений. Моделирование связей в реляционной модели данных. Внешние ключи
- •52. Реляционное исчисление.
- •60. Язык sql. Назначения языка. Стандарты sql. Подмножества языка.
40. Нормализованные отношения. Первичные и вторичные ключи отношений. Моделирование связей в реляционной модели данных. Внешние ключи
Нормализация отношений (таблиц) — одна из основополагающих частей теории реляционных баз данных. Нормализация имеет своей целью избавиться от избыточности в отношениях и модифицировать их структуру таким образом, чтобы процесс работы с ними не был обременён различными посторонними сложностями. При игнорировании такого подхода эффективность проектирования стремительно снижается, что вкупе с прочими подобными вольностями может привести к критическим последствиям. 51. Операции обновления БД.
Рассмотрим операции обновления и удаления записей из таблицы. Прежде, чем обновить или удалить запись, ее необходимо найти. Если таблица не индексирована, то единственным способом поиска является последовательное сканирование таблицы в поиске нужной записи. В этом случае, скорость операций обновления и удаления существенно увеличивается с увеличением количества записей в таблице и не зависит от количества атрибутов. Но на самом деле неиндексированные таблицы практически никогда не используются. Для каждой таблицы обычно объявляется один или несколько индексов, соответствующий потенциальным ключам. При помощи этих индексов поиск записи производится очень быстро и практически не зависит от количества строк и атрибутов в таблице (хотя, конечно, некоторая зависимость имеется). Если для таблицы объявлено несколько индексов, то при выполнении операций обновления и удаления эти индексы должны быть перестроены, на что тратится дополнительное время. Таким образом, скорость выполнения операций обновления и удаления также уменьшается при увеличении количества индексов у таблицы и мало зависит от числа строк в таблице.
52. Реляционное исчисление.
Реляционное исчисление — прикладная ветвь формальной теории, носящей название «исчисления предикатов первого порядка». В основе исчисления лежит понятие переменной с определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы. Наряду с реляционной алгеброй является способом получения результирующего отношения в реляционной модели данных. В зависимости от того, что является областью определения переменной, различают:
Исчисление кортежей
направление реляционного исчисления, где областями определения переменных являются тела отношений базы данных, то есть допустимым значением каждой переменной является кортеж тела некоторого отношения.
Исчисление доменов
В исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных СЛУЖАЩИЕ-ПРОЕКТЫ можно говорить, например, о доменных переменных ИМЯ (значения – допустимые имена) или НОСЛУ (значения – допустимые номера служащих).
60. Язык sql. Назначения языка. Стандарты sql. Подмножества языка.
Структурированный Язык Запросов – это стандартный язык запросов по работе с реляционными базами данных.
Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL – это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней.
SQL нельзя в полной мере отнести к традиционным языкам программирования, т.к. он не содержит традиционных операторов, управляющих ходом выполнения программ, он содержит только набор стандартных операторов доступа к данным, хранящимся в базе данных. SQL является так называемым непроцедурным языком. Термин «непроцедурный» означает, что на этом языке можно сформулировать, что именно нужно сделать с данными, но нельзя проинструктировать, как это следует сделать. Иными словами, в языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и т.п. Операторы SQL встраиваются в базовый язык программирования, которым может быть любой стандартный язык программирования С++, Pascal и т.д.
В 1986 г. в результате совместных усилий двух организаций ANSI (American National Standarts) и ISO (International Standarts Organisation) был принят официальный стандарт SQL-86 (SQL-1). После появления первого международного стандарта языка работа в этой области продолжилась. В 1992 г. был принят второй международный стандарт SQL-92 (SQL-2). В 1999 г. появляется объектно-ориентированный язык SQL:1999 (SQL-3), а в 2003 г. принят стандарт SQL:2003. Каждый стандарт представляет собой многостраничный документ сложной структуры. К примеру, текст стандарта SQL-92 составляет около 600 страниц.
В настоящее время язык SQL воплощен практически во всех коммерческих СУБД – все фирмы-производители СУБД провозглашают реализацию стандарта SQL. Таким образом, освоив один раз стандарт этого языка, пользователь посредством SQL может работать с базой данных в среде любой SQL-ориентированной СУБД.
Язык SQL можно использовать для доступа к базе данных в двух режимах: при интерактивной работе и в прикладных программах.
С помощью SQL пользователь может в интерактивном режиме быстро получить ответы на любые, в том числе достаточно сложные запросы, тогда как для реализации этих запросов на другом языке пришлось бы разрабатывать соответствующую программу. В прикладных программах, написанных на определенных языках программирования, SQL используются как встроенный язык для обращения к базе данных.
Характеризуя язык SQL в целом, можно выделить следующие его черты:
· высокоуровневая структура, напоминающая английский язык;
· независимость от конкретных СУБД;
· межплатформенная переносимость;
· наличие развивающихся стандартов;
· возможность выполнения интерактивных запросов извлечения данных и модификации их структуры;
· обеспечение программного доступа к базам данных;
· поддержка архитектуры клиент/сервер;
· возможность изменять и расширять структуру базы данных даже в то время, когда пользователи обращаются к ее содержимому (динамическое определение данных);
· расширяемость и поддержка объектно-ориентированных технологий;
· возможность доступа к данным в среде Интернет.
Основные функции языка SQL:
· SQL – язык интерактивных запросов. Пользователи вводят команды SQL в интерактивном режиме для выборки данных и отображения их на экране, а также для внесения изменений в базу данных;
· SQL – язык программирования баз данных. Чтобы получить доступ к базе данных, в прикладные программы вставляются команды SQL;
· SQL – язык администрирования баз данных. Администратор базы данных может использовать SQL для определения структуры базы данных и управления доступом к данным;
· SQL – язык создания приложений клиент/сервер. В прикладных программах SQL используется как средство организации связи по локальной сети с сервером баз данных, в которой хранятся совместно используемые данные и др.