Содержание
- 2. План курса Требования к моделям данных и средствам их хранения и обработки. Обзор ХМL. Реляционная модель
- 3. Литература Гарсиа-Молина Г., Ульман Дж.Д., Уидом Д. Системы баз данных. Полный курс. – М.: Издательский дом
- 4. Требования Долговременное (persistent) хранение больших объемов данных (логическая и физическая организация). Данные могут быть типизированы и
- 5. Транзакции. Свойство ACID Транзакция (transaction, TR) —группа последовательных операций (добавление, модификация, выбор, удаление), которая представляет собой
- 6. Пример: файловая система Умеет хранить терабайты двоичных данных. Информация о типе файла (смысле хранимых в нем
- 7. eXtensible Markup Language Разработан World Wide Web Consortium (W3C). Версия 1.0 спецификации – 1998 год. Вторая
- 8. XML – основные понятия Элементы. Задают структуру документа. Документ обязан иметь единственный корневой элемент. Элемент может
- 9. Я родилась 12 февраля в городе Кимры. < > & " ' ё Пример XML-данных
- 10. DTD – I DTD - Document Type Definition (определение типов документа). Используется проверяющим XML-процессором (validating processor)
- 11. DTD – II Элемент: - любое корректное содержимое - элемент не может иметь вложенных элементов -
- 12. Пример DTD ID ID #REQUIRED Name CDATA #REQUIRED> ID ID #REQUIRED FirstName CDATA #IMPLIED LastName CDATA
- 13. XPath – основные понятия Средства описания подмножеств элементов/атрибутов/… XML-документа, удовлетворяющих заданным условиям. Рассматривая XML-документ как дерево,
- 14. XPath: описание пути . – описание пути, совпадающее собственно с текущей вершиной (контекстная вершина). .. –
- 15. XPath: описание точки отсчета child – ребенок контекстной вершины. descendant – все наследники контекстной вершины. parent
- 16. Примеры описаний точек отсчета . –» self::node() .. –» parent::node() // –» /descendant-or-self::node()/ ../title –» parent::node()/child::title
- 17. Примеры описаний предикатов //section[paragraph] //section[not(@title)] ./chapter[3]/section[position()=2] .//section[position()=1 or position()=last()] //*[local-name()=‘Student’ and @FirstName!=‘Уи’] ./chapter[count(section/paragraph)!=0] //paragraph[id(‘P2345’)] //author[sum(book/@price) >
- 18. DOM – Document Object Model Levels 1-3, последняя версия 2004 Node Document Element Attr … NodeList
- 19. Node интерфейс interface Node { // NodeType const unsigned short ELEMENT_NODE = 1; const unsigned short
- 20. NodeList и NamedNodeMap интерфейсы interface NodeList { Node item(in unsigned long index); readonly attribute unsigned long
- 21. Document интерфейс interface Document : Node { ... readonly attribute Element documentElement; Element createElement(in DOMString tagName);
- 22. Element и Attr интерфейс interface Element : Node { readonly attribute DOMString tagName; DOMString getAttribute(in DOMString
- 23. DOMError интерфейс interface DOMError { // ErrorSeverity const unsigned short SEVERITY_WARNING = 1; const unsigned short
- 24. Пример: C++ (VS v6.0) #include #import named_guids using namespace std; using namespace MSXML; void main() {
- 25. EntityRelationship-модель данных Peter Chen, 1976 ER-модель – семантическая модель данных, т.е. модель данных, главным предназначением которой
- 26. Элементы ER-модели Cущности – классы элементов моделируемой семантической области. Атрибуты – индивидуальные характерис- тики сущностей. Отношения
- 27. Пример ER-модели Gender Autobio
- 28. Типы связей в ER-моделях Если каждый член множества А посредством связи R может быть связан не
- 29. Связи и роли Если одна и та же сущность используется несколько раз в контексте одной и
- 30. Многосторонние связи и атрибуты связей
- 31. Преобразование многосторонних связей в бинарные Actor-of Movie-of Studio-of-Actor Producing-Studio Соединяющее множество сущностей (connecting entity set)
- 32. Подклассы в ER-модели Подклассы (subclasses) служат для выделения в базовых классах (superclasses) сущностей, обладающих собственными атрибутами
- 33. Моделирование ограничений Ключ (key) – атрибут или подмножество атрибутов, уникальным образом определяющее экземпляр сущности среди множества
- 34. Ограничение области значений Типы значений атрибутов (логические, диапазоны чисел, перечисления, длины строк) должны адекватно представлять моделируемую
- 35. Ограничение единственности Некоторый атрибут сущности может обладать не более чем единственным значением. Если допускается отсутствие значения
- 36. Ограничение ссылочной целостности Это ограничение (всюду определенное – total) требует, чтобы значение, выступающее в некоторой роли,
- 37. Ограничения общего вида Единственность Множественность Обязательность Общего вида представляется на ER-диаграмме
- 38. Ключи в ER-моделях Каждая сущность должна обладать ключом. Сущность без ключа вызывает вопросы о правильности модели
- 39. Пример: ключи
- 40. Слабые сущности В предметной области выделяется некоторое содержательное понятие – сущность с набором атрибутов. Однако оказывается,
- 41. Выбор ключевых атрибутов для слабых сущностей Подмножества собственных атрибутов сущности E. Ключевые атрибуты сущностей, которые могут
- 42. Пример: слабые сущности Биологический вид именуется парой – именем рода, которому принадлежит вид, и собственно именем
- 43. Реляционная модель данных D1, D2, …, Dn – множества (атомарных) значений (domains). R ⊆ D1× D2
- 44. Преобразование ER-модели в реляционную. «Простая» часть Students FirstName Member-of LastName Groups Year Lectures Title Lecturer Lesson-for
- 45. Преобразование ER-модели в реляционную. Объединение отношений Имеется сущность E, соединенная связью R типа many-one с сущностью
- 46. Пример: объединение отношений Students(FirstName,LastName,Gender, Autobio,Name,Year) Groups(Name,Year,Speciality) MemberOf(FirstName,LastName,Name,Year)
- 47. Преобразование ER-модели в реляционную. Слабые сущности Если W – слабая сущность, отношение для W строится следующим
- 48. Пример: преобразование слабых сущностей Genera(Name) Species(Name, NameOfGenera)
- 49. Преобразование ER-модели в реляционную ISA в стиле «сущность-связь» Для каждой сущности в иерархии создается отношение. Если
- 50. Преобразование ER-модели в реляционную ISA в объектно-ориентированном стиле Метод состоит в перечислении всевозможных поддеревьев ER-диаграммы, включающих
- 51. Все сущности иерархии объединяются в одно отношение. При этом если для некоторого кортежа отношения (экземпляра некоторой
- 52. Преобразования отношений в реляционной модели Функциональная зависимость между атрибутами отношения: если два кортежа отношения совпадают в
- 53. Замыкание множества атрибутов Замыканием (closure) {Ai}+ множества атрибутов {Ai} обусловленным множеством функциональных зависимостей S называется множество
- 54. Ключи и суперключи отношений Множество атрибутов {Ai} называется ключом отношения R, если: эти атрибуты функционально обуславливают
- 55. Аномалии отношений Избыточность (redundancy) данных. Аномалии изменения (update anomalies). Аномалии удаления (delete anomalies).
- 56. Декомпозиция отношений Отношения S(s1,…,sn) и T(t1,…,tm) являются декомпозицией отношения R(r1,…,rk), если: {r1,…,rk}={s1,…,sn}⋃{t1,…,tm}. кортежи отношений S и
- 57. Нормальная форма Бойса-Кодда Отношение R удовлетворяет BCNF тогда и только тогда, когда для R существует нетривиальная
- 58. Пример: нормализованные отношения Actors NormMovies StarsIn
- 59. Третья нормальная форма BCNF иногда является слишком строгим условием и требует декомпозиции даже в тех случаях,
- 60. Реляционная алгебра Переменные, соответствующие неограниченным отношениям, и константы, являющиеся конечными отношениями. Операции: теоретико-множественные операции: объединение (union),
- 61. Пример выбора и проекции πActorName(σYear>1976(Movies)) σYear>1976(πTitle,Year(Movies))
- 62. Пример декартова произведения и естественного соединения S T S×T – декартово произведение S⋈T – естественное соединение
- 63. Тэта-соединение (Θ-join): S ⋈Θ T = σΘ(S×T). Внешние соединения (outerjoins, left/right): Вненшние тэта-соединения. Другие виды соединений
- 64. SQL – Structured Query Language первая версия – конец 1970-х (IBM) текущий стандарт – 1999 (ANSI)
- 65. Создание/удаление/изменение таблиц Типы данных SQL: INT/INTEGER, SHORTINT CHAR(n), VARCHAR(n) BOOLEAN FLOAT/REAL, DOUBLE PECISION, DECIMAL(n,d)/NUMERIC DATE, TIME,
- 66. Добавление/удаление/обновление данных INSERT INTO Movies(Title,Year,ActorName) VALUES(’Titanic’,1997,’L. Di Caprio’); INSERT INTO Movies VALUES(’Titanic’,1997,240,’color’,’Universal’, ’K. Winslet’,’1972-03-08’,true); DELETE FROM
- 67. Выборка данных I Дальнейшая обработка пользователем. Использование в проверке условий. Использование при добавлении данных. Создание временных/виртуальных
- 68. Выборка данных II Movies(Title,Year,Length,FilmType,Studio) Actors(Name,Address,Gender,Birthdate,Photo) Studios(Name,Address) StarsIn(Title,Year,Name) SELECT DISTINCT Movies.Title, Std.Name AS StudioName, A.Name AS ActorName
- 69. Выборка данных III SELECT Address SELECT Address FROM Studios, Movies FROM Studios WHERE Name=Studio WHERE Name=
- 70. Выборка данных IV SELECT Address FROM Studios, (SELECT Studio FROM Movies WHERE Title=’Indiana Jones’) Indy WHERE
- 71. Значения NULL и UNKNOWN NULL используется, когда: Значение не является известным на данный момент, Значение не
- 72. Операторы агрегирования SUM, AVG, MIN, MAX – операторы над числовыми атрибутами (сумма, среднее, минимум, максимум). COUNT
- 73. Соединения в SQL T1 CROSS JOIN T2 – декартово произведение таблиц. T1 NATURAL JOIN T2 –
- 74. Описание схемных ограничений – ключи Объявление ключей с помощью UNIQUE может быть несколько; атрибуты, входящие в
- 76. Скачать презентацию