Реферат по предмету "Информатика, программирование"


Реляционная модель данных

Министерствообразования Российской Федерации Министерство образования РеспубликиТаджикистан
Российско-Таджикский(славянский) Университет
Кафедра «И и ИС»
Курсовая работа
по дисциплине:Базы данных
на тему: Реляционная модель данных

Душанбе– 2008

План
 
Введение
1 Модельданных
2 Базовыепонятия реляционной модели данных
3 Общиепредставления о модели данных
Заключение
Список используемойлитературы

Введение
 
Человечество стремительновступает в принципиально новую для него информационную эпоху. Существеннымобразом меняются все слагаемые образа жизни людей. В современном обществеуровень информатизации характеризует уровень развития государства. НачавшийсяХХI век специалисты называют веком компьютерных технологий. Их революционноевоздействие касается государственных структур и институтов гражданскогообщества, экономической и социальной сфер, науки и образования, культуры иобраза жизни людей. Многие развитые и развивающиеся страны в полной мереосознали те колоссальные преимущества, которые несет с собой развитие ираспространение информационно-коммуникационных технологий. Не у кого невызывает сомнения тот факт, что движение к информационному обществу — это путьв будущее человеческой цивилизации.
В соответствии среляционной моделью база данных представляется в виде совокупности таблиц, надкоторыми могут выполняться операции, формулируемые в терминах реляционнойалгебры и реляционного исчисления. В реляционной модели операции над объектамибазы данных имеют теоретико-множественный характер. Концепции реляционноймодели данных связаны с именем известного специалиста в области систем базданных Е. Кодда. Именно поэтому реляционную модель данных часто называютмоделью Кодда.
Ядром любой базы данныхявляется модель данных. Модель данных представляет собой множество структурданных, ограничений целостности и операций манипулирования данными. С помощьюмодели данных могут быть представлены объекты предметной области и взаимосвязимежду ними.

1 Модельданных
 
Модель данных – совокупность структурданных и операций их обработки.
Моделиданных определяются:
a) способамиорганизации данных.
b) ограничениемценности данных.
c) операциямис данными.
СУБД основывается наиспользовании иерархической, сетевой или реляционной модели, на комбинации этихмоделей или на некотором их подмножестве.
Рассмотрим 3 основныхтипа моделей данных: иерархическую, сетевую и реляционную.
Иерархическаямодель данных
а) Иерархическаяструктура представляет совокупность элементов, связанных между собой поопределённым правилам. Объекты, связанные иерархическими отношениями, образуюториентированный граф (перевёрнутое дерево), вид которого представлен на рисунке1.
 
/>                                                                А                                                Уровень 1                                                                     
                             В1           В2          В3          В4           В5                    Уровень2
                                                                                                                                                     
                  С1      С2         С3       С4      С5         С6       С7      С8         Уровень 3
Рис. 1
К основным понятиямиерархической структуры относятся: уровень, элемент (узел), связь.
Узел – это совокупностьатрибутов данных, описывающих некоторый объект. На схеме иерархического дереваузлы представляются вершинами графа. Каждый узел на более низком уровне связантолько с одним узлом, находящимся на более высоком уровне. Иерархическое деревоимеет только одну вершину (корень дерева), не подчинённую никакой другойвершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчинённые)узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базахданных определяется числом корневых записей. К каждойдятсяна втором, третьемершине и находящуюся на самом верхнем 9первом) уровне. ровне.Записи базы данных существует только 1 иерархический путь от корневойзаписи. Например, как видно на рисунке 1 для записи С4 путь проходит череззаписи А и В3.
Пример, представленный нарисунке 2 иллюстрирует использование иерархической модели базы данных. Длярассматриваемого примера иерархическая структура правомерна, т.к. каждыйстудент учится в определённой (только одной) группе, которая относится копределённому (только одному) институту.
b) Ограничениецелостности — целостность ссылок между предком и потомком с учетом основногоправила: никакой потомок не может существовать без предка.
Примеры:1) ОКА 3)TOTAL
2)ИНЭС4) IMS
с)Операции над данными:
Ø найтиуказанное дерево.
Ø перейтиот одного дерева к другому.
Ø перейтиот одной записи к другой.
Ø перейтиот одной записи к другой в порядке обхода иерархии.
Ø удалениетекущей записи.
 

Институт (специальность, название,ректор)
/>

Группа (номер, староста)
                                                      
Студент (номер зачётной книжки,фамилия, имя, отчество)
 
Рис.2. Пример иерархической структуры бах данных
 
Сетевыемодели данных.
а) В сетевых моделяхданных при тех же основных понятиях (уровень, узел, связь) каждый элемент можетбыть связан с любым другим элементом.
/>

Рис. 3 Сетевая структурабазы данных в виде графа
Студент (номер зачётной книжки,фамилия, группа)
/>

Работа (шифр,
руководитель,
область)
 
Рис. 4.
Примером сложной сетевойструктуры может служить структура базы данных, содержащей сведения о студентах,участвующих в научно – исследовательских работах (НИР). Возможно участие одногостудента в нескольких НИР, а также участие нескольких студентов в разработкеодной НИР. Графическое изображение описанной в примере сетевой структуры,состоящей только из двух типов записей, показано на рисунке 4. Единственноеотношение представляет собой сложную связь между записями в обоих направлениях.
с) Операции над даннымисетевой модели данных:
Ø  найти конкретную запись внаборе однотипных записей.
Ø  перейти от узла высшегоуровня к первому узлу низшего по некоторой связи.
Ø  перейти к следующему узлупо некоторой связи.
Ø  создать новую запись.
Ø  уничтожить запись.
Ø  модифицировать запись.
Ø  включить 1 связь.
Ø  исключить из связи.
Ø  переставить в другуюсвязь.
Особенность сетевоймодели данных: возможность осуществления навигации по связям данных, т.е.переход от просмотра реквизитов экземпляра одного типа записи к просмотруреквизитов экземпляра, связанного типом записи. Пользователю предоставляетсявозможность многокритериального анализа базы данных без непосредственнойформализации своих информационных потребностей через формирование запросов наязыке, встроенном в СУБД.
Другая сильная сторонасетевой модели данных – использование множественных типов данных для описанияатрибутов информации объектов. Это позволяет создавать информационныеструктуры, которые представляют собой табличную форму данных.Не смотря наразвитие сетевой модели данных, не получилось создать языковых программныхсредств на их основе, которые позволили бы в прикладных информационных системаходинаково описывать данные сетевой организации.
Реляционнаямодель данных.
Понятие реляционной(англ. relation – отношение) связано с разработками известного американскогоспециалиста в области систем баз данных Е. Кодда.
2 Базовыепонятия реляционной модели данных
Реляционная модель данныхпредставляет информацию в виде совокупности связанных таблиц, которыеназываются отношениями или реляциями.
Тип данных – эквивалентно понятиютипа данных в алгоритмических языках. Существуют:
Ø  целочисленные типы;
Ø  вещественные типы;
Ø  строковые типы;
Ø  типы данных для денежныхвеличин;
Ø  типы данных для временныхвеличин;
Ø  типы двоичных объектов(не имеет аналогов в языках программирования, и обозначаются Blob)
Наименьшаяединица данных реляционной модели — это отдельное атомарное (неразложимое) дляданной модели значение данных. Доменом называется множество атомарныхзначений одного и того же типа. Иными словами, домен представляет собойдопустимое потенциальное множество значений данного типа.Понятие доменаболее специфично для баз данных, хотя и имеет некоторые аналогии с диапазоннымитипами и множествами, имеющимися в ряде языков программирования. В самом общемвиде домен определяется заданием некоторого базового типа данных, к которомуотносятся элементы домена, и произвольного логического выражения, применяемого кэлементу типа данных. Если вычисление этого логического выражения даетрезультат «истина», то элемент данных является элементом домена.
Следуетотметить также семантическую нагрузку понятия домена: данные счита ютсясравнимыми только в том случае, когда они относятся к одному домену. Если жезначения двух атрибутов берутся из различных доменов, то их сравнение,вероятно, лишено смысла. Понятие домена используется далеко не во всех СУБД. Вкачестве примера реляци онных баз данных, использующих домены, можно привестиОгасle и InterBase.
Атрибуты, схема отношения, схема базы данных
Столбцыотношения называют атрибутами, им присваиваются имена, по которым к ним затемпроизводится обращение.
Список именатрибутов отношения с указанием имен доменов (или типов, если домены неподдерживаются) называется схемой отношения.
Степеньотношения — эточисло его атрибутов. Отношение степени один называют унарным, степени два —бинарным, степени три — тернарным,..., а степени п — n-арным.
Схемой базыданных называется множество именованных схем отношений.
Кортеж
Кортеж, соответствующий даннойсхеме отношения, представляет собой множество пар {имя атрибута, значение},которое содержит одно вхождение каждого имени атрибута, принадлежащего схемеотношения. «Значение» является допустимым значением домена данного атрибута(или типа данных, если понятие домена не поддерживается). Тем самым степенькортежа, то есть число элементов в нем, совпадает со степенью соответствующейсхемы отношения. Иными словами, кортеж — это набор именованных значенийзаданного типа. Схему отношения иногда называют также заголовком отношения, аотношение как набор кортежей — телом отношения. Понятие схемы отношениянапоминает понятие структурного типа данных в языках про граммирования(структура в С/С++, запись в Pascal). Однако в реляционных базах данных имя схемыотношения всегда совпадает с именем соответствующего отношения-экземпляра. Вклассических реляционных базах данных после определения схемы базы Данныхизменяются только отношения-экземпляры. В них могут появляться новые иудаляться или модифицироваться существующие кортежи. Однако во многихреализациях допускается и изменение схемы базы данных: определение новых иизменение существующих схем отношения. Это принято называть эволюцией схемыбазы данных.
Ключи отношения
Поскольку отношение сматематической точки зрения является множеством, а множества по определению несодержат совпадающих элементов, то никакие два кортежа отношения не могут бытьдубликатами друг друга в любой произвольно заданный момент времени. Такимобразом, в отношении всегда должен присутствовать некоторый атрибут (или наборатрибутов), однозначно определяющий каждый кортеж отношения и обеспечивающийуникальность строк таблицы. Такой атрибут (или набор атрибутов) называется первичнымключом отношения.
Для каждогоотношения свойством уникальности обладает, по крайней мере, полный набор егоатрибутов. Однако требуется обеспечить и условие минимальности. Поэтому, какправило, в отношении всегда имеется один атрибут, обладающий свойствомуникальности и являющийся первичным ключом.
В зависимостиот количества атрибутов, входящих в ключ, различают простые и сложные (илисоставные) ключи.
Простой ключ— ключ,содержащий только один атрибут. В общем случае операции объединения выполняютсябыстрее в том случае, когда в качестве ключаис пользуется самый короткий исамый простой из возможных типов данных. С этой точки зрения наилучшим образомподходит целочисленный тип, который имеет аппаратную поддержку для выполнениянад ним логических операций.
Сложный или составной ключ — ключ,состоящий из нескольких атрибутов. Набор атрибутов, обладающий свойствомуникальности, но не обладающий минимальностью, называется суперключом. Суперключ— сложный (составной) ключ с большим числом столбцов, чем необходимо для того,чтобы быть уникальным идентификатором. Такие ключи нередко используются напрактике, так как избыточность может оказаться полезной пользователю.
В зависимостиот того, содержит ли атрибут, являющийся первичным ключом, какую-либоинформацию, различают искусственные и естественные ключи.
Искусственныйили суррогатный ключ — ключ, созданный самой СУБД или пользователем с помощью некоторойпроцедуры, который сам по себе не содержит ин формации. Искусственный ключиспользуется для создания уникальных идентификаторов строк, когда сущностьдолжна быть описана полностью, чтобы однозначно идентифицировать конкретныйэлемент. Искусственный ключ часто используют вместо значимого сложного ключа,который является слишком громоздким, чтобы использоваться в реальной базеданных. Система поддерживает искусственный ключ, но он никогда не показываетсяпользователю.
Естественный ключ — ключ, в которыйвключены значимые атрибуты и который, таким образом, содержит информацию.
Каждый изтипов первичных ключей имеет свои преимущества и недостатки; их обсуждениюпосвящено большое количество публикаций. Мы не будем проводить подробное ихсравнение, а отметим лишь основные плюсы и минусы каждого из видов ключей.
Основнымидостоинствами естественных ключей является то, что они несут вполнеопределенную информацию и их использование не приводит к необходимостидобавлять в таблицы атрибуты, значения которых не имеют никакого смысла ииспользуются лишь для связи между отношениями. Иными словами, использованиеестественных ключей позволяет получить более компактную форму таблиц (в которыхне будет избыточных, неинформативных данных) и более естественные связи междуними.
Основным женедостатком естественных ключей является то, что их использование весьмазатруднительно в случае изменчивости предметной области. Следует пони мать, чтозначения атрибутов первичного ключа не должны изменяться. То есть однаждызаданное значение первичного ключа для кортежа не может быть позже изменено.Такое требование ставится в основном для поддержания целостности базы данных.Связь между отношениями обычно устанавливается именно по пер вичномуключу, иего изменение приведет к нарушению этих связей или к необходимости изменениязаписей в нескольких таблицах. Даже в сравнительно простых базах данных этоможет вызвать ряд трудноразрешимых проблем. В некоторых реляционных СУБДдопускается изменение первичного ключа. Иногда это бывает действительнополезно. Однако прибегать к этому следует лишь в случае крайней необходимости.
Типичнымпримером изменчивой предметной области, в которой для сущности невозможноопределить неизменный естественный ключ, является любая область, где в качествесущности выступает человек. Действительно, невозможно определить для человеканабор атрибутов, которые были бы уникальны и неизменны на протяжении всей егожизни.
Второй,довольно существенный недостаток естественных ключей состоит в том, что, какправило, уникальные естественные ключи являются составными и содержат строковыеатрибуты. Как уже отмечалось выше, максимальная скорость выполнения операцийнад данными обеспечивается при использовании простых целочисленных ключей.Таким образом, с точки зрения быстродействия системы естественные ключи частооказываются неоптимальными.
Обанедостатка естественных ключей можно преодолеть, определив в отношенияхсуррогатные ключи, представляющие собой некоторый универсальный атрибут, как правило,целочисленного типа, который не зависит ни от предметной области, ни, темболее, от структуры отношения, которое он идентифицирует. Таким образом, можнообеспечить уникальность и неизменность ключа (раз он никаким образом не зависитот предметной области, то никогда не возникнет необходимость изменять его).Однако за это приходится платить избыточностью данных в таблицах. Следуетзаметить, что во многих практических реализациях реляционных СУБД до пускаетсянарушение свойства уникальности кортежей для промежуточных отношений,порождаемых неявно при выполнении запросов. Такие отношения являются немножествами, а мультимножествами, что в ряде случаев позволяет добитьсяопределенных преимуществ, но иногда приводит к серьезным проблемам.
В любой изтаблиц может оказаться несколько наборов атрибутов, которые можно выбрать вкачестве ключа. Такие наборы называются потенциальными или альтернативными ключами.
Нередко вотношениях определяются так называемые вторичные ключи. Вторичный ключпредставляет собой комбинацию атрибутов, отличную от комбинации, составляющейпервичный ключ. Причем вторичные ключи не обязательно обладают свойствомуникальности. При их определении могут задаваться следующие ограничения:
UNIQUE — ограничениеуникальности, значения вторичных ключей при дан ном ограничении не могутдублироваться;
NOT NULL — при данном ограничениини один из атрибутов, входящих в со став вторичного ключа, не может приниматьзначение NULL.
Перекрывающиеся ключи — сложные ключи, которыеимеют один или несколько общих столбцов.
Связанные отношения
В реляционноймодели данные представляются в виде совокупности взаимосвязанных таблиц.Подобное взаимоотношение между таблицами называется связью (rilationship). Таким образом, еще однимважным понятием реляционной модели является связь между отношениями.
Прирассмотрении связанных таблиц важное значение имеет понятие внешнего ключа. Рассмотримего более подробно.
Внешние ключи отношения
В базахданных одни и те же имена атрибутов часто используются в разных отношениях. Внешнийключ — это атрибут (или множество атрибутов) одного отношения, являющийсяключом другого (или того же самого) отношения.
Внешние ключииспользуются для установления логических связей между отношениями. Связь междудвумя таблицами устанавливается путем присваивания значений внешнего ключаодной таблицы значениям ключа другой.
Так же как илюбые другие ключи, внешние ключи могут быть простыми либо составными.
Часто связьмежду отношениями устанавливается по первичному ключу, то есть значениямвнешнего ключа одного отношения присваиваются значения первичного ключа другогоотношения. Однако это не является обязательным — в общем случае связь может устанавливатьсятакже и с помощью вторичных ключей. Кроме того, при установлении связей междутаблицами необязательно требование уникальности ключа, по которомуустанавливается связь. Атрибуты внешнего ключа не обязательно должны иметь теже имена, что и атрибуты ключа, которым они соответствуют. Внешний ключ можетссылаться и на ту же таблицу, к которой он принадлежит. В этом случае внешнийключ называется рекурсивным.
Условияцелостности данных
Чтобы информация,хранящаяся в базе данных, была однозначной и непротиворе чивой, в реляционноймодели устанавливаются некоторые ограничительные усло вия. Ограничительныеусловия — это правила, определяющие возможные значе ния данных. Ониобеспечивают логическую основу для поддержания корректных значений данных вбазе. Ограничения целостности позволяют свести к минимуму ошибки, возникающиепри обновлении и обработке данных.
· Важнейшимиограничениями целостности данных являются: категорийная целостность; ссылочнаяцелостность.
Ограничениекатегорийной целостности заключается в следующем. Кортежи отношенияпредставляют в базе данных элементы определенных объектов реального мира или, всоответствии с терминологией реляционных СУБД, категорий. Первичный ключтаблицы однозначно определяет каждый кортеж и, следовательно, каждый элементкатегории. Таким образом, для извлечения данных, содержащихся в строке таблицы,или для манипулирования этими данными необходимо знать значение ключа для этойстроки. Поэтому строка не может быть занесена в базу данных до тех пор, пока небудут определены все атрибуты ее первичного ключа. Это правило называетсяправилом категорийной целостности и кратко формулируется следующим образом:никакой атрибут первичного ключа строки не может быть пустым.
Второеусловие накладывает на внешние ключи ограничения для обеспечения целостностиданных, называемой ссылочной целостностью.
Если дветаблицы связаны между собой, то внешний ключ таблицы должен содержать только тезначения, которые уже имеются среди значений ключа, по которому осуществляетсясвязь. Если корректность значений внешних ключей не контролируется СУБД, томожет нарушиться ссылочная целостность данных.Ограничения категорийной иссылочной целостности должны поддерживаться СУБД. Для соблюдения целостностисущности достаточно гарантировать отсут ствие в любом отношении кортежей содним и тем же значением первичного ключа. Что же касается ссылочнойцелостности, то здесь обеспечение целостности выглядит несколько сложнее. Приобновлении ссылающегося отношения (при вставке новых кортежей или модификациизначения внешнего ключа в существующих кортежах) достаточно следить за тем,чтобы не появлялись некорректные значения внешнего ключа. А вот при удалениикортежа из отношения, на которое ведет ссылка, возможно использовать один изтрех подходов, каждый из которых поддерживает целостность по ссылкам:
· первыйподход заключается в том, что запрещается производить удаление кортежа, накоторый существуют ссылки (то есть сначала нужно либо удалитьссы лающиесякортежи, либо соответствующим образом изменить значения их внешнего ключа);
· привтором подходе при удалении кортежа, на который имеются ссылки, во всехссылающихся кортежах значение внешнего ключа автоматически становитсянеопределенным;
· третийподход (называемый также каскадным удалением) состоит в том, что при удалениикортежа из отношения, на которое ведет ссылка, из ссылающегося отношенияавтоматически удаляются все ссылающиеся кортежи.
В развитыхреляционных СУБД обычно можно выбрать способ поддержания ссылочной целостностидля каждой отдельной ситуации определения внешнего ключа. Конечно, для принятиятакого решения необходимо анализировать требования конкретной прикладнойобласти. Хотя большинство современных СУБД обеспечивает ссылочную целостностьданных, все же следует помнить, что существуют реляционные СУБД, в которых невыполняются ограничения ссылочной целостности.
Типысвязей между таблицами
Приустановлении связи между двумя таблицами одна из них будет являться глав ной (master), а вторая — подчиненной(detail). Различие между ниминесколько упрощенно можно пояснить следующим образом. В главной таблице всегдадоступны все содержащиеся в ней записи. В подчиненной же таблице доступнытолько те записи, у которых значение атрибутов внешнего ключа совпадает созначением соответствующих атрибутов текущей записи главной таблицы. Причемизменение текущей записи главной таблицы приведет к изменению множествадоступных записей подчиненной таблицы, а изменение текущей записи в подчиненнойтаблице не вы зовет никаких изменений ни в одной из таблиц. На практике частосвязывают более двух таблиц. Одна и та же таблица может быть главной поотношению к одной таблице и подчиненной по отношению к другой. Или у однойглавной таблицы может находиться в подчинении не одна, а несколько таблиц.Однако подчиненная таблица не может управляться двумя таблицами. Таким образом,у главной таблицы может быть несколько подчиненных, но у подчиненной таблицыможет быть только одна главная.
Различаютчетыре типа связей между таблицами реляционной базы данных:
· одинк одному — каждойзаписи одной таблицы соответствует только одна запись другой таблицы;
· одинко многим —одной записи главной таблицы могут соответствовать несколько записейподчиненной таблицы;
· многиек одному — несколькимзаписям главной таблицы может соответствовать одна и та же запись подчиненнойтаблицы;
· многиеко многим — одназапись главной таблицы связана с несколькими записями подчиненной таблицы, аодна запись подчиненной таблицы связана с не сколькими записями главнойтаблицы.
Различиемежду типами связей «один ко многим» и «многие к одному» зависит от того, какаяиз таблиц выбирается в качестве главной, а какая в качестве подчиненной.
Основныесвойства отношений
Рассмотримтеперь некоторые важнейшие свойства отношений реляционной мо дели данных.
3 Общиепредставления о модели данных
Можнопо-разному характеризовать понятие модели данных. С одной стороны, модельданных – это способ структурирования данных, которые рассматриваются какнекоторая абстракция в отрыве от предметной области. С другой стороны, модельданных – это инструмент представления концептуальной модели предметной областии динамики ее изменения в виде базы данных.
Учитывая обевышеуказанные стороны, определим основные структуры моделей данных,используемые для представления концептуальной модели предметной области(сущностей, атрибутов, связей).
Элементданных(поле) – наименьшая поименованная единица данных. Используется дляпредставления значения атрибута.
Запись – поименованнаясовокупность полей. Используется для представления совокупности атрибутовсущности (записи о сущности).
Экземплярзаписи –запись с конкретными значениями полей.
Агрегатданных –поименованная совокупность элементов данных внутри записи, которую можнорассматривать как единое целое.
Файл – поименованная совокупностьэкземпляров записей одного типа. Используется для представления однородногонабора сущностей.
Наборфайлов –поименованная совокупность файлов, обрабатываемых в системе. Используется дляпредставления нескольких наборов сущностей.
Введемпонятие «группа», обобщающее понятия «агрегат» и «запись».
Группа – это поименованнаясовокупность элементов данных или элементов данных и других групп.
Важнейшимпонятием концептуальной модели является понятие связи между сущностями(наборами сущностей). В моделях данных соответствующее понятие отражаетсяпонятием «групповое отношение».
Групповоеотношение– поименованное бинарное отношение, заданное на двух множествах экземпляроврассматриваемых групп. По характеру бинарных связей различают групповыеотношения вида 1:1, 1:M, M:1, M:N. Пары чисел называют коэффициентами групповогоотношения. В групповом отношении один член группы назначается владельцемотношения, другой – членом.
Базаданных –поименованная совокупность экземпляров групп и групповых отношений.
Для представлениягруппового отношения используется две формы:
а) Графовая.Группы изображаются вершинами графа, связи между группами – дугами,направленными от группы-владельца к группе-члену с указанием имени отношения икоэффициента.
По типуграфов различают:


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :