[МУЗЫКА] [МУЗЫКА] Поговорим о бинарных связях. Одним из свойств бинарной связи является мощность. Что такое мощность? Связи делятся на три вида в зависимости от количества участвующих в них объектов. Это связи вида «один к одному», «один ко многим» и «многие ко многим». Связь «один к одному» говорит нам, что каждому экземпляру объектов одного вида соответствует в точности ровно один объект другого вида, и наоборот, то есть между экземплярами объектов двух видов есть взаимооднозначное соответствие. Приведем пример связи вида «один к одному». Например, университетом руководит ректор, университет для ректора один, и в обратную сторону связь также однозначная. Связь вида «один к одному» изображается при помощи линии со стрелками на обеих концах связи. Следующая связь — вида «один ко многим». Такая связь говорит о том, что объекту одного вида может соответствовать несколько объектов другого вида. Но в обратную сторону связь однозначная, то есть каждому объекту второго вида соответствует ровно один экземпляр первого вида. Например, в каждом отделе может работать множество сотрудников, но сотрудник закреплен ровно в одном отделе. На данном экране вы видите пример, как описывается такая связь. Ромб, который изображает такую связь, соединяется ненаправленной дугой в сторону ко многим и направленной дугой, которая заканчивается стрелочкой, в сторону к одному. Следующий вид связи, который сложнее всего реализуется в базах данных, но чаще всего встречается в природе — это связи вида «многие ко многим». Связь вида «многие ко многим» — когда каждому объекту одного вида может соответствовать множество объектов другого вида, и наоборот. Например, каждый студент может сдать экзамены множеству преподавателей, и каждый преподаватель принимает экзамен у множества студентов. В таком случае связь изображается ненаправленной линией, которая не имеет стрелок ни на одном конце. Следующим свойством бинарным связей является их модальность. Есть два вида модальности: «может» и «должен». Модальность «может» означает, что каждому экземпляру одной сущности может соответствовать один или несколько экземпляров другой сущности, но может не соответствовать и ни одного, то есть связи может и не быть. Например, сотрудник может работать в отделе, а может ни в каком отделе не работать. Человек может иметь автомобиль, а может не иметь автомобиль, а может иметь несколько автомобилей. Также студент-экзамен: студент может сдать один экзамен, несколько экзаменов, а может ни одного экзамена и не сдать. Модальность «должен» означает, что каждому экземпляру одной сущности соответствует хотя бы один экземпляр другой сущности, то есть связь обязательно должна присутствовать. Например, на каждый курс лекции должен быть назначен хотя бы один преподаватель, у каждой кафедры должен быть заведующий. Приведем пример изображения модальной и немодальной связи. Модальность «должен» обозначается на диаграммах сплошной линией, модальность «может» обозначается линией пунктирной. Например, рассмотрим связи между сущностями билет и пассажир. Каждый билет должен быть для одного и ровно для одного пассажира, поэтому связь со стороны билета будет модальной. Но пассажир может иметь билет, а может и не иметь, а может иметь несколько билетов. Поэтому со стороны пассажира связь будет немодальной. Поэтому она изображается пунктирной линией. Рассмотрим пример представления бинарной связь «один ко многим» при помощи модальности. Был всего один вид связи, а он представляется уже четырьмя способами. Рассмотрим пример, как модальность влияет на связи вида «многие ко многим». Студент сдает экзамен по какому-то предмету. В первом случае модальность вида «должен». Связь изображена сплошной линией, это означает, что студент должен сдать хотя бы один экзамен и каждый экзамен должен быть сдан хотя бы одним студентом. Второй пример: модальность «должен» со стороны студента и модальность «может» со стороны экзамена. Это означает, что каждый студент должен сдать хотя бы один экзамен, может и больше, но хотя бы один. А модальность «может» со стороны экзамена говорит о том, что у нас могут быть экзамены, которые не сдал ни один студент. Следующий вид связи — модальный: «может» со стороны студента и модальный «должен» со стороны экзамена. Студент может сдать несколько экзаменов, а может не сдать ни одного. Но каждый экзамен должен быть сдан хотя бы одним студентом. И последний пример: модальность «может» с обеих стороны, и со стороны студента, и со стороны экзамена говорит о том, что студент может сдать несколько экзаменов, а может ни одного. То же самое с экзаменом — что каждый экзамен может быть сдан множеством студентом, а может и ни одним студентом. Таким образом, мы подробно рассмотрели с вами моделирование данных при помощи диаграмм «сущность- связь». Давайте рассмотрим, какие шаги потребуются нам при создании такой модели. На первом шаге мы определяем сущности, то есть объекты, информацию о которых мы будем хранить. Затем мы определяем атрибуты, то есть свойства сущностей. Среди атрибутов мы выбираем наиболее важные, называем их ключами. После этого мы определяем отношения между сущностями, определяем виды связей, кардинальность, прорисовываем нашу модель и на последнем этапе проверяем, удалось ли нам реализовать все ограничения предметной области при нашем описании. Давайте рассмотрим пример с базой данных экзаменационной сессии. Напомню вам, что в нашей базе данных должна храниться информация о студентах, сданных студентом экзаменам по определенным предметам. Приведем пример построения диаграммы сущность-связь для базы данных экзаменационной сессии. Напомню вам, что мы храним информацию о студентах, сданных экзаменах по определенным предметам. Естественно, экзамены принимают преподаватели. Студент характеризуется номером зачетки, фамилией, именем и отчеством, адресом, телефоном, датой рождения. Студенты распределены по учебным группам. Для каждой группы назначается экзамен по определенному предмету, на экзамен назначается экзаменатор. указывается дата экзамена и аудитория. За каждый сданный экзамен студенту выставляется оценка. Какие мы можем добавить ограничения целостности? Например, номер зачетки — это положительное число, фамилия, имя, отчество не содержит цифр, оценка бывает от двух до пяти, студент состоит в одной учебной группе, каждый день студент может сдать не более одного экзамена и так далее. Конечно, ограничений будет значительно больше. Начнем с сущности «студент». Мы изображаем эту сущность прямоугольником, прорисовываем все атрибуты студента. Телефон изображаем как отдельную слабую сущность. Напомню вам, что слабые сущности — это такие сущности, которые не идентифицируются без связи с другими, независимыми или сильными сущностями. У телефона будут два атрибута: это тип телефона и номер. Мы видим связь вида «один ко многим» между телефонами и студентами, что говорит о том, что у каждого студента может быть множество телефонов. При этом связь между студентом и телефоном устанавливаем в модальности «может». Это говорит о том, что у студента может и не быть телефона. Следующая сущность, которую мы изобразим на диаграмме называется «группа». У группы будет номер группы и специализация. Мы соединяем студента и группу связью «состоит», связь будет вида «один ко многим». Мы рисуем стрелочку в направлении группы, потому что каждый студент состоит ровно в одной группе. Следующие независимые сущности, которые мы должны изобразить — это преподаватель, который будет принимать экзамен. У преподавателя будет номер сотрудника, который будет ключом этой сущности, и фамилия, имя, отчество. Изобразим сущность «предмет», у которого будет номер и название. Теперь можно изобразить зависимую сущность экзамена, которая будет связана со всеми остальными изображенными на диаграмме сущностями: и со студентом, и с группой, и с предметом, и с преподавателем. Давайте рассмотрим, какие атрибуты будут у сущности «экзамен». Атрибутами экзамена будет дата экзамена, номер аудитории и номер ведомости. Прорисуем связи для сущности экзамена. Связь между экзаменом и преподавателем будет вида «один ко многим», каждый преподаватель может принять несколько экзаменов, но за каждый экзамен отвечает ровно один преподаватель. Связь между экзаменом и предметов также будет «один ко многим», потому что на каждый предмет может быть назначено несколько экзаменов. Но для каждого экзаменов жестко фиксируется предмет, которому этот экзамен соответствует. Связь между экзаменом и группой также будет вида «один ко многим», потому что одна группа может сдать несколько экзаменов, но каждый отдельный экзамен назначается для определенной группы. Связь между студентом и преподаватель будет вида «многие ко многим» — на каждый экзамен приходит целая группа, то есть множество студентов, и каждый студент может сдать множество экзаменов. При этом связь между студентом и экзаменом будет с модальностью «может», потому что студент может не сдать ни одного экзамена. И могут попасться такие сложные экзамены, которые не сдал ни один студент. И у связи между студентом и экзаменом будет собственный атрибут, который мы назовем оценкой. Таким образом, мы рассмотрели с вами пример построения диаграммы «сущность- связь».