Реляционный тип. Реляционные базы данных

24.03.2019

Павел Пестель родился 03 июля 1793 года в городе Москва. Происходит из немецкого семейства Пестелей, поселившегося в России в конце XVII века. Отец - Иван Борисович Пестель. Мать - Елизавета Ивановна Крок. Семья исповедовала лютеранство.

Получив начальное домашнее образование, в 1805-1809 учился в Дрездене. В 1810 вернулся в Россию, обучался в Пажеском корпусе, который блестяще окончил с занесением имени на мраморную доску, и был определён прапорщиком в лейб-гвардии Литовский полк.

Участвуя в Отечественной войне, отличился в Бородинском сражении; был тяжело ранен и награждён золотой шпагой «За храбрость». По выздоровлении поступил в адъютанты к графу Витгенштейну. В компаниях 1813-1814 годов участвовал в сражениях при Пирне, Дрездене, Кульме, Лейпциге. Награждён орденами Св. Владимира 4-й степени с бантом и австрийским Леопольда 3-й степени. Отличился при переправе через Рейн, за что былнаграждён баденским орденом Военных заслуг Карла Фридриха. В боях при Бар-сюр-Об и Труа был награждён орденом Св. Анны 2 степени. Также отмечен прусским орденом «Pour le Mérite». Позже вместе с графом Витгенштейном проживал в Тульчине, откуда ездил в Бессарабию для собирания сведений о возмущении греков против турок и для переговоров с господарем Молдавии.

В 1822 году он был переведён полковником в совершенно расстроенный Вятский пехотный полк и в течение года привёл его в порядок. Сам Александр I, осматривая его в сентябре 1823 года, выразился: «Превосходно, точно гвардия», и пожаловал Пестелю 3000 десятин земли.

Участвовал с 1816 года в масонских ложах. Позднее был принят в «Союз спасения», составил для него устав, в 1818 году стал членом Коренной управы Союза благоденствия, а в 1821 году, после его самоликвидации возглавил Южное тайное общество. Обладая большим умом, разносторонними познаниями и даром слова, Пестель скоро встал во главе общества. Но силы его красноречия и природного обаяния не смогли убедить в 1825 году петербургское общество действовать в духе Южного, и окончательное решение о слиянии было отложено на 1826 год.

Выражением его взглядов была составленная им «Русская Правда». Этот проект, написанный в республиканском духе, можно считать вместе с проектом Н. Муравьёва главными выражениями идей тайного общества. Важнейшей стороной «Русской Правды» являлись размышления Пестеля о внутреннем устройстве России, политическом и экономическом, которые Николай Тургенев и Николаев называл «социалистическими теориями». Следственная комиссия построила свои обвинения против Пестеля и некоторых других именно на «Русской Правде».

Из сохранившихся писем Пестеля видно, что он отличался нежной заботливостью по отношению к родителям. Незадолго до 14 декабря 1825 года он был арестован на дороге в Тульчин и после 6-месячного заключения в Петропавловской крепости приговорён к четвертованию, заменённому повешением, что и было исполнено 25 июля 1826 г.

В своём последнем перед казнью письме от 1 мая 1826 года из Петропавловской крепости к родителям Пестель писал: «Я должен был раньше понимать, что необходимо полагаться на Провидение, а не пытаться принять участие в том, что не является прямой нашей обязанностью в положении, в которое Бог нас поставил, и не стремиться выйти из своего круга. Я чувствовал это уже в 1825 году, но было слишком поздно!».

По свидетельству одного офицера, перед казнью Пестель сказал такие пророческие слова: «Что посеял, то и взойти должно и взойдёт впоследствии непременно». Сохранилось следующее воспоминание протоиерея Мысловского, присутствовавшего на казни декабристов, о Пестеле: «Пестель в половине пятого, идя на казнь и увидя виселицу, с большим присутствием духа произнёс следующие слова: "Ужели мы не заслужили лучшей смерти? Кажется, мы никогда не отвращали тела своего ни от пуль, ни от ядер. Можно бы было нас и расстрелять"».

Похоронен вместе с другими казнёнными декабристами на острове Голодае.

Как Радищев был первый русский просветитель, поставивший вопрос о простом народе не как объекте истории, но как о существеннейшем его субъекте; как Новиков был первый просветитель-практик, устраивавший первые на Руси публичные библиотеки -- так и Павел Пестель был первым русским революционером-практиком. Новая на Руси фигура революционера практика со всеми свойственными этому типу человека чертами: ум, железная воля, одержимость идеей, аскетизм, как подчинение и жизни и идеи чувству реальности, стратегическая бескомпромиссность и тактическая гибкость -- все эти черты настораживали современников своей новизной. Они пытались объяснить невиданные сочетания свойств личности в этом человеке холодным лицемерием, жестокостью карьериста, они подозревали в этом бескорыстном рыцаре добра даже потенциального Бонапарта. Современники его не любили за исключением нескольких самых близких друзей и соратников. Фигура Пестеля не очень любима и в наше время. Понимание того факта, что он опередил своей революционностью лучших своих современников-декабристов, строивших планы реформирования и эволюционного развития феодально-крепостнического режима, определяет и сегодняшнее отношение к Павлу Пестелю. Отношение к нему резко полярное. На одном полюсе он числится в Бонапартах, в несостоявшихся диктаторах, в предтечах Сталина, на другом -- в бескорыстных борцах за свободу и демократию для всех, не исключая и самого забитого мужичка.

Павел Иванович Пестель родился 24 июня (5 июля) 1793 в Москве. Его дед, выходец из Саксонии, лютеранин, переселился в Россию в 1751. За службу ему было пожаловано во владение имение -- село Васильево с деревнями, всего 149 душ.

Отец Павла Пестеля, Иван Борисович Пестель, при Павле I был главным почт-директором Санкт-Петербурга и президентом главного почтового правления. При Александре I его назначают сенатором. Он славился крутостью характера и независимостью мнений, а также честностью и деловыми качествами. Возможно, эта репутация, подтвержденная удачно проведенными ревизиями Вятской и Казанской губерний, привела его к назначению генерал-губернатором Сибири. В этой должности он провел 12 лет, с 1806 по 1818 год. Сменил его на этом посту впавший в немилость Александра I реформатор М. М. Сперанский.

До 12 лет Пестель воспитывался дома. В 1805 его с младшим братом Владимиром родители отправили в Дрезден к бабушке под присмотром дядьки Андрея Егоровича Зейделя, который позже дослужился под покровительством Пестеля-отца до должности правителя иностранного отделения при канцелярии с.-петербургского генерал-губернатора графа М.А. Милорадовича. В Дрездене оба брата учились до1809 года. А через год после возвращения из Германии родители отдают обоих сыновей в одно из самых привилегированных учебных заведений России, в Пажеский корпус.

Этот период царствования Александра I, известный как либеральный, составляет целую эпоху в деле зарождения народного образования в России. То, что начал Петр Великий, а затем попыталась продолжить Екатерина II, Александр I организовал, расширил и утвердил как систему. Вся империя была поделена на шесть образовательных округов. В них начинается постепенное создание трехступенчатой школы.

Справедливости ради надо заметить, что вся школьная трехступенчатая система была не единой -- от начальной школы до университета. Все ступени плохо сообщались между собою. Но ради той же справедливости, необходимо сказать, что до Александра и такой системы не было. Не было вообще никакой системы образования для населения огромной империи. Каждый учился, если только хотел учиться, сам по себе: "... понемногу, чему-нибудь и как-нибудь".

В 1802 г. было учреждено особое министерство народного просвещения. По мысли власти губернские училища или гимназии предполагалось иметь в каждом губернском городе, а вся система выглядела примерно следующим образом. Первая ступень -- приходская школа, где учили Закону Божию, чтению, письму и арифметике. Следующая ступень -- гимназия. Здесь преподавались геометрия, география, история, основы математики, физики, химии, биологии, логика, психология, этика, эстетика, естественное и народное право, политическая экономия. Преподавались также коммерция и технология. Гимназия -- прямой путь к высшей, третьей ступени образования, к университету, а университет обещал в будущем обер-офицерский чин. В 1809 г. вышел знаменитый указ, дававший всякому сдавшему университетские экзамены, право на получение чина коллежского асессора.

Административно все три ступени российского образования были связаны между собою так: наблюдение за гимназиями и назначение директора ее было предоставлено университетам, директор гимназии был вместе с тем и начальником над смотрителем уездных училищ, а смотритель уездного училища являлся начальником над учителями приходских школ своего уезда.

Таким образом, к 1804 году в трех из шести основанных властью образовательных округах университеты уже существовали: в Москве, в Дерпте и в Вильно .

В трех других округах -- Казанском, Харьковском, Петербургском их предстояло еще учредить. В Петербурге в том же 1804 г. был учрежден Педагогический институт, преобразованный в университет лишь в 1819 г. В тот же год, 1804, получили высочайшее утверждение уставы университетов Москвы, Харькова и Казани и устав учебных заведений при университетах, таких как гимназии, лицеи и проч.

Университетский устав 1804 г. на бумаге обещал очень много: университет становился автономной корпорацией с "советом" профессоров и "правлением". "Совет" профессоров выбирал ректора и деканов. Эти выборные лица составляли "правление" для заведования хозяйственными делами университета и являлась фактически, выражаясь современным языком, "исполнительная власть" университетской корпорации. Организация преподавания была отдана всецело в распоряжение совета. Для своих членов университет имел собственный суд, на который жаловаться можно было только Сенату. Очень скоро, однако, все добрые намерения устава 1804 г. оказались иллюзией. При первой же попытке совета профессоров Харьковского университета настоять на одном из своих постановлений в Харьковском губернском правлении им был сделан строжайший выговор, выборы "правления" были отменены, ученые степени раздавались по усмотрению попечителя.

Печальное положение высших учебных заведений обусловлено было во многом и тем фактом, что, дворяне, отученные Екатериной от петровских батогов и службы отечеству, не желали учиться. Тем более что университет в те времена готовил студента только к педагогическому поприщу, и в университет шли те, кто хотел быть учителем. Служение отечеству на педагогическом поприще дворянству казалось малопривлекательным. Даже казенные стипендиаты старались всячески уклониться от учительской службы.

Кто заботился о карьере для детей, тот направлял их по военной линии. Дворянские дети заполняли в основном военные школы. Тот же, кто заботился не столько о карьере, сколько о хорошем воспитании, тот помещал детей в частные пансионы. По этой причине новые университеты были пусты. В первое десятилетие их существования студентов насчитывалось едва ли по нескольку десятков. Только в 20-х годах XIX столетия число студентов в новых университетах стало переходить за сотню. Этот рост происходил в основном за счет обедневшего дворянства и разночинцев. Они наполнили университеты, например, в московском университете в 20-х годах числилось от 700 до 900 студентов.

Все это, однако, не очень содействовало процветанию гимназий и университетов. Особенно когда ослабели либеральные веяния начала царствования, правительство стало открывать "благородные пансионы", уравненные в правах с университетом, не только при гимназиях, но даже и при университетах. Самая программа преподавания также изменяется; главной целью гимназии признается подготовка молодых людей к жизни, а не к слушанию лекций в университетах. В гимназиях вводится преподавание Закона Божия, значительно усиливается преподавание языков -- латинского и греческого, русского, французского, но исключаются науки философские и общественные.

Все описанное выше касалось всеобщего образования. А это -- долгосрочный сложный процесс, как и всякий созидательный процесс, который должен был развиваться постепенно, не одно десятилетие. Тем не менее, власти после успешного царствования Екатерины Великой нуждались в образованных и деловых управленцах и чиновниках высокого мирового уровня. И чем скорее, тем лучше. С этой целью открывается целая сеть элитарных учебных заведений для дворянских детей: Царскосельский Лицей (основан в 1811 году для подготовки дворянских детей к дипломатической службе в Министерстве Иностранных дел), Лицей князя Безбородко в Нежине (возник в 1805 году) или Лицей Ришелье в Одессе, целью которых считалось "образование юношества, особенно предназначенного к важным частям государственной службы". И действительно, из этих заведений выходили высокообразованные государственные управленцы, такие как Корф, или европейского уровня дипломаты, такие как князь Горчаков. Гоголь учился в нежинской гимназии при Лицее Безбородко. Один только Александровский лицей в Царском селе выпустил из своих стен, кроме Пушкина и Горчакова, Кюхельбекера, Дельвига, Мея, Ивана Пущина, Салтыкова-Щедрина, ученых Веселовского, Грота, Данилевского...

К этому роду учебных заведений относился и Пажеский корпус, реорганизованный в 1802 году как высшее военное учебное заведение. Основан он был гораздо раньше, и одним из первых его учеников был Радищев. Туда и был определен родительским попечением четырнадцатилетний Павел Пестель. В стране абсолютной монархии это было самое качественное и блестящее образование, дававшее возможность быть образцовыми дворянами, "универсальными людьми", способными к головокружительным карьерам на любом поприще служения царю и отечеству -- военном, дипломатическом или придворном. Образовательная система была строго продумана -- общеобразовательные предметы преподавались соответственно с гимназическим курсом специально подобранным преподавательским коллективом в так называемых "общих классах". Общие классы Пажеского корпуса и представляли собой гимназию. Кроме гимназических лекций пажи обязаны были усвоить и предметы "специальных классов", в которых преподавались предметы по курсу военного училища. В Пажеский корпус отбирали представителей или самых знатных фамилий империи, или самых преданных, ибо им полагалось нести службу при дворе, и каждый из них был лично известен членам императорской фамилии.

В Пажеском корпусе проявились многие качества будущего лидера Южного Общества. Он был дисциплинирован, но самостоятелен во мнении, отлично учился и отлично сходился с товарищами по учебе, но уже тогда был лидером среди товарищей по корпусу, но был замкнут. В его личном деле отмечалось: Пестель "взысканиям не подвергался и к чтению усерден", "на товарищей влиять любит, самостоятелен и замкнут". Профессора и преподаватели ценили Пестеля как лучшего ученика. Но директор корпуса, генерал Клингер, невзлюбил этого лучшего ученика за вольнодумство. Он составил характеристику пажа Пестеля по типу административного доноса с целью лишить вольнодумца всех званий, регалий и привилегий, полагающихся при благополучном окончании Пажеского корпуса. В доносе писалось: "Пестель за время пребывание в Пажеском корпусе неоднократно замечаем был в настроении критики порядков, в оном корпусе водворенных, имеет ум, в который извне вливаются вольнолюбивые внушения. Тако: подвергал рассуждению о значении помазания вашего величества, замечен был в суждениях о несправедливости порядка крепостного состояния и о желательности равенства всех людей". К счастью для Пестеля, либерально настроенный тогда Александр I спокойно отнесся к вольнодумству своего пажа и выразил надежду, что военная служба выветрит из Пестеля дух вольнодумства.

Пестель был благополучно выпущен из Пажеского корпуса в 1811 году и 14 декабря того же года он получил звание прапорщика лейб-гвардии Литовского полка. Имя Павла Пестеля как первого ученика, было высечено на мраморной доске в Пажеском корпусе, но после казни декабриста по повелению императора Николая I оно было стерто с этой доски почета.

Через полгода после окончания Пажеского корпуса и зачисления Пестеля в полк, Наполеон, покорив Европу, вторгся в пределы Российской империи, мечтая объединить весь мир и дойти до Индии через русские просторы, чтобы повторить судьбу Александра Македонского. Началась война 1812 года.

Пестель, находясь в действующей армии и командуя взводом литовцев, испытывал на себе все неудачи русской армии, весь позор отступления и ужас бессилия при отступлении, он разделял вместе со всей армией надежду, что на поле Бородина они остановят, наконец, французов. В Бородинской битве он был тяжело ранен. Лишь чудом он, раненый, не попал в плен, а потом избежал ампутации ноги. Главнокомандующий М. И. Кутузов лично вручил ему награду -- золотую шпагу "За храбрость". Затем пришлось долго лечиться, почти год, хотя уже весной 1813 года, к началу заграничного похода, Павел Пестель возвратился в действующую армию, где назначен был на почетный, но опасный пост адъютанта П. Х. Витгенштейна, давнего друга его отца.

Вместе с Витгенштейном Пестель проделал заграничный поход русской армии, восстанавливая рухнувшие под ударами Французской революции и Наполеона королевские режимы. Он сражался под Дрезденом, в котором когда-то учился, и под Кульмом. Он участвовал в битве народов под Лейпцигом, за это сражение Пестель был награжден орденом Владимира 4 степени с бантом и австрийским орденом Леопольда 3 степени. Он участвовал в переправе через Рейн, за что награжден баденским орденом Карла Фридриха, затем в сражениях при Бар-сюр-Об, при Труа. За последнее Пестель награжден орденом Анны 2 степени и также прусским орденом "За заслуги". К концу войны, за два года службы, Пестель был обладателем золотого наградного оружия, российских и иностранных орденов, из прапорщиков был произведен в поручики и был переведён в лейб-гвардии Кавалергардский полк - самое элитное воинское соединение царской России. Начальник Пестеля, Пётр Христианович Вигтенштейн, не мог нахвалиться отважным и умным адъютантом и в дальнейшем он неизменно покровительствовал своему протеже.

О характере Пестеля много говорит эпизод, имевший место в одном французском городке, куда Павел Иванович прибыл с должностным поручением. Его сопровождал отряд казаков. В этот момент город был занят баварцами (бывших союзников французов, но оперативно изменивших им по мере наступления союзных войск). Баварцы мародерствовали. Внимание Пестеля привлекли крики, доносившиеся из дома, мимо которого он проезжал в этот момент со своими казаками. Решили узнать, в чем дело, вошли в дом, и Пестель увидел, как три баварских солдата вытаскивают тюфяк из-под умирающей старухи. Пестель стал уговаривать этих лихих парней проявить милосердие к умирающей женщине. Но те не поняли его и стали надсмехаться над его гуманизмом. Тогда поручик Пестель приказал своим казакам высечь мародеров нагайками. Казаки очень хорошо поняли мотив своего командира, и со всем старанием выполнили поручение молодого офицера. Они не пощадили и баварского офицера, хотя чин его был выше чина русского поручика. Баварец был майором. Но и майора, попытавшегося вступиться за своих солдат, отхлестали нагайками.

Возможно, Пестель до конца дней так и донкихотствовал бы… Но, вернувшись после заграничного похода в Петербург, он застал столицу империи бурлящею. Петербург был перенаполнен всевозможными обществами, легальными и полулегальными, где только и разговоров было о Европе, о свободе, о герое-солдате, о его рабстве, о деспотии и самовластии… Эти общества появились еще до наполеоновского нашествия. Они возникали стихийно, как знак -- общество ждет от Александра, избавившего дворянство от Павла, что он поделится властью. Дворянство ждало конституции. Дворянство жаждало ограничить самовластье самодержавного монарха. Все сбивались в группы, в полулегальные общества, демонстрируя монарху благонадежность, высокие моральные, деловые и интеллектуальные качества. Форма обществ была масонская, и каждый, кто ждал конституционных действий от царя, вступал в какое-нибудь масонское общество и тем самым готовился из общества шагнуть к управлению страной. Проектов управления было много. Поэтому и масонских лож было много, каждая со своим проектом. Весьма либеральная и демократическая была та, в которую вступил Павел Пестель сразу после выпуска своего из Пажеского корпуса: в 1812 году он вступает в члены ложи "Соединенных друзей". Тогда же существовала и другая ложа "Орден русских рыцарей". Она была создана в Москве группой аристократов графом Дмитриев-Мамоновым, флигель-адьютантом Александра I Михаилом Орловым, князем Меньшиковым и другими родовитыми и молодыми аристократами. Результатом действий этой группы был конституционный проект, отличительными особенностями которого были крайний аристократизм и крайний национализм.

Вернувшись же по окончании войны в Петербург, Пестель попадает в атмосферу разочарования отходом Александра от реформ, отставкой Сперанского и возвышением Аракчеева, планирующего вместо введения конституции и упорядочения русских законов, чем и занимался Сперанский, основание военных поселений. Пестель вступает в ложу "Трех добродетелей" и в конце 1816 или в начале 1817 года узнает о существовании тайного общества от члена ложи "Орден русских рыцарей" Михаила Николаевича Новикова о существовании тайного общества "Союз спасения"...

Михаил Николаевич был внучатый племянник первого русского просветителя Н. И. Новикова. Будучи уездным предводителем дворянства, во время войны 1812 года пошел в ополчение и был сотенным начальником эскадрона Пензенского конного полка ополчения. Участвовал в заграничном походе и был отправлен к Александру I с донесением о взятии Дрездена. После войны он становится членом преддекабристской тайной организации "Орден русских рыцарей" и членом ранней декабристской организации "Союз спасения" (1816). Он был не только членом ложи "Избранного Михаила", но и основателем и управляющим мастером ложи "Любовь к истине" в Полтаве (1818-1819), которую пытался превратить в одну из управ Союза благоденствия. Этот человек и принимает молодого Павла Пестеля в тайное общество "Союз спасения".

Вступив в "Союз Спасения", Пестель вдохнул струю радикального действия в собрание теоретиков-вольнолюбцев, которые не планировали пока приступать к практическим действиям. Действительно, среди них были люди разнообразнейших убеждений и представлений о будущем устройстве России -- от конституционных монархистов до республиканцев. И необходимо было выработать какую-то теоретическую общую платформу для совместных действий.

Пестель быстро выдвинулся в руководство организацией, развивая идею превращения организации в структуру, способную организовать заговор и взять власть в России в свои руки. Он предложил изменить устав общества, сделать его более деловым и жестким, с дисциплинарной иерархической структурой, избавиться от прекраснодушных теоретических прений без конца и сосредоточиться на первоочередных и самых неотложных для страны задачах. По настоянию Пестеля в устав "Союза спасения" были вписаны две наиглавнейшие цели общества: уничтожение крепостного рабства и введение конституционной монархии. Правое умеренное крыло союза категорически не принимало его положительные отзывы об Якобинской республике II (1793) года. Но Павел Иванович не был склонен идти на компромиссы, и при поддержке Александра Муравьева пестельский проект устава тайного общества был принят. С этого момента закончился период огульной критики существующего положения вещей в стране и началась активная работа членов общества по созданию конституции и формулирования созидательных сторон заговора.

К сожалению, дела службы уводят Павла Пестеля из Петербурга сначала в Прибалтику. Некоторое время штаб Витгенштейна находится в Митаве, где Пестелю удается привлечь в ряды заговора несколько офицеров. Затем штаб 2-ой армии переводится в Тульчин. В это время тайное общество "Союз спасения" было распущено с целью избавления как от множества случайных попутчиков, фрондирующих интеллектуалов и романтиков, так и от правительственных осведомителей и шпионов, попавших в "Союз спасения". Отсеяв многих случайных членов общества, в Петербурге создали новую организацию "Союз благоденствия", которая была, благодаря влиянию Пестеля, более целеустремленной, более деловой и ответственной. Устав организации стал более открытым, но и более радикальным, более прагматичным и демократичным, но и более благонамеренным. Таинственные масонские ритуалы ушли в прошлое, все ответственные посты "Союза" могли быть заняты только демократическим путем. Пестель далеко не сразу принял новый устав. Он протестовал против его умеренной благонадежности, но, соглашаясь с принципами и задачами "Союза Благоденствия", вступил в него. Павел Иванович старался проводить в строительстве организации свою радикальную республиканскую линию, хотя к составлению устава новой организации Пестель отношения не имел.

В Тульчине дела у Пестеля-заговорщика шли успешно, и ему удалось создать активно действующую Тульчинскую управу (отделение) "Союза". В то время как большинство других управ "Союза Благоденствия" занимались благотворительными подписками и легальными публикациями свободолюбивых виршей, Пестель прикладывал все усилия, чтобы создать из молодых офицеров тульчинской управы кадры будущего переворота. Как позднее он показывал на допросе: "Тайное наше общество было революционное с самого начала своего существования, и во все свое продолжение не переставало никогда быть таковым".

В 1820 году Пестель принял участие в Петербургском совещании Коренного Совета (высшего органа "Союза Благоденствия"), где обсуждались кардинальные вопросы будущего устройства страны. Конституционная монархия или республика? … На этом совещании Пестель высказался за цареубийство и предложил план диктатуры Временного революционного правления, до формирования республиканских форм правления. Он категорически не был поддержан другими участниками совещания. Петербургское совещание окончилось ничем. Глухо зрел раскол между сторонниками конституции Никиты Муравьева и сторонниками конституции Павла Пестеля. Целый год пытались договориться сторонники умеренной конституционной монархии, обоснованной Муравьевым в Петербурге, и радикальные республиканцы, обосновавшиеся на юге с Павлом Пестелем. В этот период Пестель был усилен не кем-нибудь, а самим Александром I. В конце 1820 года в гвардейском Семеновском полку вспыхнуло недовольство, быстро подавленное. Солдат били палками, ссылали в каторгу, офицеров переводили в другие полки. Так Сергей Муравьев-Апостол попал на юг и стал одним из самых радикальных деятелей декабристского юга.

В следующем, 21 году, на московском съезде "Союз Благоденствия" был формально распущен. Целью этого шага руководства организации было не только введение в заблуждение сыщиков правительства, но и попытка отделаться от радикалов, возглавляемых Пестелем. Последние не признавали решений московского съезда и высказались за продолжение функционирования "Союза". Так возникли два тайных общества, две партии: "Северное общество" с центром в Санкт-Петербурге и "Южное общество" декабристов, центром которого являлось Тульчин, а Павел Пестель играл роль его руководителя.

Наряду со своей конспиративной деятельностью Пестель продолжал свою успешно начатую в 1812 году военную карьеру. До 1821 года, когда он возглавил Вятский полк, Пестель оставался адъютантом графа Витгенштейна, командующего 2-ой армии. По старой русской традиции дела штаба армии по сути дела находились всецело в руках у гвардейского ротмистра Павла Пестеля, а не у престарелого главнокомандующего. Пользуясь этим своим преимуществом, Пестель вовлек в антиправительственный заговор многих штабных офицеров.

В начале 1821 года Пестеля отправляют в Бессарабию с целью сбора информации о греческом антитурецком восстании, поднятом князем Александром Ипсиланти, и для переговоров с господарем Молдавии. Тогда фактически решался вопрос помощи России греческому движению. Пестель несколько раз нелегально пересекал границу, лично встречался с лидером повстанцев и по итогам своей первой поездки составил отчет командованию. Этот документ позднее получил огласку и вызвал бурное негодование эллинофилов (среди которых был и Александр Пушкин). Дело в том, что в своем отчете Пестель довольно критично отозвался о деятельности и перспективах повстанцев, предположив, что выступление Ипсиланти - это результат деятельности тайного общества греческих карбонариев. Зная, что отчет попадет на стол Александру I, Пестель не мог не осознавать, что, упоминая о революционных заговорщиках, он ставит крест на помощи России восставшим грекам. Возможно, Пестель просто понял, что выступление Ипсиланти является не революцией, а романтической и плохо подготовленной авантюрой, ведь турки разбили греков менее чем за месяц. А к революции Павел Пестель относился серьезно, и, посвятив себя ей фанатично, учился и на чужих ошибках… Но, в любом случае, за свои слова Пестель заплатил дорогую цену: он знал -- в армии его считают "шпионом графа Аракчеева".

Несомненно, знакомство с греческими повстанцами обогатило опыт Пестеля-революционера. Опыт даже и чужих ошибок и неудач помогает более внимательно учитывать жизненные реалии, встающие на пути революционера. К сожалению, Пестель был именно "не профессиональным" революционером. И государственная служба не только обогащала его опытом, административным, военным и дипломатическим, она и отнимала массу сил, энергии и времени. Будь он свободней в своем времени и в своих поступках, движение декабристов могло бы иметь и другой путь развития. Несомненно, такая сильная личность как Пестель, который по натуре был тем типом революционера, который в XIX веке стал "типичным" и "нормальным" явлением в России, сильнее влияла бы на принятие решений, на выработки документов и проч.

Блестяще выполнив, с точки зрения правительства, это поручение, Пестель был произведен в полковники, и 15 (27) ноября 1822 года назначен командиром Вятского пехотного полка, дислоцированного на Украине в районе Белой Церкви. Это был совершенно запущенный полк и, чтобы наладить в нем дисциплину и образцовую службу, Пестелю понадобился год. Через год это был образцовый полк. Для этого пришлось существенно поработать с офицерскими кадрами. Пестель провел массу перестановок среди офицерского состава полка. Старых командиров заменил новыми, более компетентными офицерами, а всякий, несогласный с политикой полковника, немедленно переводился в другую часть или отправлялся в отставку. К 1823 году Павел Иванович располагал образцовым полком, которому отводилась важная роль в грядущем перевороте. По его замыслу именно Вятский полк должен был занять главную квартиру Второй армии и тем самым дать сигнал к восстанию. Александр I, делая смотр Вятского полка в сентябре 1823 году, остался крайне доволен работой полковника Пестеля. Он отозвался о состоянии полка так: "превосходно, точно гвардия", и пожаловал Пестелю 3.000 десятин земли.

Тем временем к 1822 году в Петербурге Никита Муравьев окончательно сформировал новую организацию -- "Северное общество". У Пестеля же с "Южным обществом" были большие проблемы чисто организационного характера. Эти проблемы возникли по той простой причине, что Пестель хотел добиться реальной организационной структуры. Северяне же занимались только теорией.

Казалось бы, "Южное общество" была полностью подконтрольна волевому Пестелю. Разветвленная иерархическая конспиративная организация. Руководство -- Директория под председательством самого Пестеля. Директории подчинялись три отделения или управы: Тульчинская, Васильсковская и Каменская. Все заговорщики тоже делились на три степени: братьев (новые члены), мужей (те, кто был посвящен в планы установления в России республики) и бояр (руководители общества).

Но на практике все выглядело более анархично. Строгая иерархия заговорщиков в жизни не действовала. Тульчинская управа прекратила функционировать с отъездом Пестеля в Вятский полк. Управа в Каменке превратилась в важный центр русской культуры, где собирались фрондирующие интеллектуалы, а Пушкин на бильярдном столе творил свои великие поэмы периода южной ссылки. Только Васильковская управа под руководством Сергея Муравьева-Апостола стала важным центром заговорщиков. Но и этот факт не был удачей Пестеля. Напротив, отношения Пестеля и Муравьева-Апостола постепенно обострялись, их единомыслие в стратегии и тактике не складывалось. Горячный анархизм Муравьева-Апостола напоминал Пестелю авантюризм греческого князя Ипсиланти, недавно разбитого турками. Муравьев-Апостол наивно преувеличивал роль личности в истории и полагал, что следует немедленно поднимать восстание, к которому неминуемо присоединятся другие воинские части, а подлые противники свободы и справедливости будут неспособны противостоять "железной воле нескольких людей". Тактические споры Пестеля и Муравьева-Апостола постепенно перерастали в личной конфликт, и Васильковская управа стала действовать самостоятельно от Южного общества. Политическая активность заговорщиков еле теплилась. Как возмущенно писал Пестель своим товарищам: "Вы все другим заняты, никогда времени не имеете говорить о делах". Это угнетало Пестеля, и своему другу Н. Тургеневу он писал, что на практике его организация "состоит не более чем из пяти-шести человек".

Тем не менее, объединение с "Северным обществом" даже такой рыхлой организации, каким было "Южное общество", являлось жизненной необходимостью для дальнейшего выживания обеих организаций. Пестель прекрасно это понимал. Было совершенно наглядно, что и "Северное общество" такое же "сырое", такое же зачаточное, что и "Южное". Поэтому обвинения северянами Пестеля в бонапартизме и диктаторских замашках были теоретическими домыслами: диктаторствовать было не над кем. Необходимо было объединяться и действовать сообща.

Пестель придавал особое значение слиянию декабристских организаций еще и по другой причине: он трезво оценивал традиционные особенности исторических русских реалий. Он понимал, что без переворота в столице никакой мятеж в провинции не будет иметь шансов на успех, сколько бы полков он ни приготовил для восстания, хоть всю армию. Необходимо было нейтрализовать гигантскую машину централизации власти, парализовать сам аппарат имперской администрации в самом его сердце - "военной столице", Петербурге.

Пестель с этой целью часто бывал в Петербурге и вел переговоры об объединении. Весной 1824 года он вновь прибыл в Петербург для переговоров об объединении двух обществ. Дискуссия декабристов сконцентрировалась вокруг двух принципиальных вопросов - тактики переворота и характера будущей конституции.

Северяне предлагали тайно распространить в народе "Конституцию" Никиты Муравьёва, а затем поднять в войсках мятеж и навязать новую форму правления царю. Проекты северян представляли собой кальку с реформ стран Восточной и Центральной Европы. В отличие от идей Никиты Муравьева, идеи Пестеля о централизованном, унитарном государстве с сильным крестьянством в наибольшей степени напоминали модель, созданную во Франции после Великой Французской Революции.

По мнению Пестеля, переворот должен был начаться с цареубийства, совершенного людьми "не из общества". Заговорщики должны были предстать в качестве "мстителей за императорскую фамилию", сформировать Временное правительство, наделённое Сенатом и Синодом неограниченной властью и в течение нескольких лет реформировать Россию. Вся полнота власти должна принадлежать Временному Верховному правлению, на плечи которого ложится осуществление основных постреволюционных реформ. Затем этот диктаторский режим должен был заменен республиканским образом правления с двухпалатным парламентом.

Северяне называли эти планы "варварскими" и "противными нравственности", а самого Пестеля обвиняли в диктаторстве. Но в конечном итоге восстание 14 декабря, начатое северянами, больше напоминало "варварский" план Пестеля, а не их собственные планы.

В ходе горячих споров Павел Иванович продемонстрировал большую гибкость. Уступая по многим стратегическим и тактическим вопросам, он добился главного: было принято решение об объединении Южного и Северного общества декабристов. Но буквально через несколько дней после решения об объединении обществ последовал раскол. Немалую роль в этом сыграли подозрения северян в отношение личности Пестеля. Кондратий Рылеев прямо обвинил лидера южан в бонапартистских амбициях. После бурной дискуссии на квартире Оболенского, заговорщики решили отложить объединение до 1826 года. Пестель вернулся на юг в глубоко угнетенном состоянии. Под градом обвинений в "предательстве греков" и в "личных видах", Пестель, по свидетельству друзей, задумался об уходе из политики и эмиграции за границу. Все дело его жизни рушилось.

Задуманный им конституционный проект "Русская правда", он начал писать в 1820 году. Существует три редакции этого документа, но ни одну из них не успел автор закончить. Его конституция держалась на идеологическом республиканском стержне. Крепостные крестьяне по "Русской Правде" должны были получить свободу с землей. Кроме этого Пестель предполагал создать фонд государственных земель, предлагаемой всем желающим для обработки. Эта мера по его мнению предотвратила бы пролетаризацию и пауперизацию крестьянства.

Но время, отпущенное первому русскому революционеру-практику, Павлу Пестелю, уже вышло. 25 ноября 1825 года капитан Аркадий Майборода, случайный в обществе человек, принятый самим Пестелем, и растративший деньги общества, подает командиру 3-го пехотного корпуса генерал-лейтенанту Роту донос на полковника Вятского полка Пестеля. Вот уж воистину "…он в Риме был бы Брут, в Афинах Периклес, а здесь он -- офицер гусарский". К тому времени власти уже располагают некоторой информацией об участии Пестеля в деятельности тайных обществ. 11 декабря в Тульчино для проведения следствия прибыл генерал-лейтенант Александр Чернышев. 13 декабря тяжелобольной Павел Пестель был вызван в Тульчин, где и был арестован. На следующий день было подавлено восстание на Сенатской площади.

3 января 1826 года закованный в кандалы Пестель был доставлен в Петербург и заключен в Алексеевский равелин. Власти уже знали об его роли в заговоре, как Пестель "по пальцам" считал намеченных для ликвидации членов царской фамилии. Но и перед следственной комиссией Пестель остался самим собой. Он вел себя не как преступник против царя и отечества, а как политический деятель, защищающий свое дело. Николай I не оценил величия души русского Дон-Кихота. Он видел только одно: "Пестель был злодей во всей силе слова, без малейшей тени раскаяния..."

30 июня 1826 года Павел Пестель вместе с другими четырьмя заговорщиками был приговорён Верховным Уголовным судом к четвертованию. Через 11 дней эта средневековая казнь была заменена повешением. 13 июля Павел Пестель был казнен на кронверке Петропавловской крепости.

II. Сетевая модель

III. Реляционная модель

запись поле

иерархических и сетевых моделей внешних ключей


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

Реляционная БД

* Отношение

* Атрибут столбца (поля) таблицы.

* Тип данных

* Связь ключом.

* Объединение

Основными функциями РСУБД являются:

· Определение данных

· Обработка данных

· Управление данными

Microsoft Access

Окно БД в Access



Режимы работы с объектами

Кнопки для работы с объектами БД расположены на Панели инструментов окна БД:

Открыть – позволяет перейти в режим редактирования таблицы, выполнения запроса, загрузки формы, построения отчета, запуска макроса.

Конструктор – обеспечивает переход к режиму настройки выбранного объекта.

Создать – позволяет приступить к созданию нового объекта выбранного типа.

7. Работа с таблицами

Чтобы создать таблицу, нужно перейти к списку таблиц и нажать кнопку Создать . Появится новое диалоговое окно Новая таблица :

Таблицу в Access можно создать несколькими способами:

· построить новую таблицу «с нуля», воспользовавшись Конструктором ;

· запустить Мастер таблиц специальную программу, предлагающую создать таблицу в пошаговом режиме на базе типовых решений, имеющихся в Access;

· импортировать таблицу БД из файла какой-либо программы, например, FoxPro или Excel.

Задание имени поля

Имя поля задается в столбце Имя поля . Имя может содержать не более 64 знаков, при этом допустимы любые символы, кроме точки, восклицательного знака и угловых скобок. Повторение имен полей не допускается.

Определение типа данных

Для каждого поля необходимо указать тип данных, содержащихся в нем. Тип данных выбирается из списка, который можно вызвать щелчком мыши в столбце Тип данных . Access оперирует следующими типами данных:

Ø Текстовый – для хранения обычного текста с максимальным количеством символов 255.

Ø Поле MEMO – для хранения больших объемов текста до 65 535 символов.

Ø Числовой – для хранения действительных чисел.

Ø Дата/время – для хранения календарных дат и текущего времени.

Ø Денежный – эти поля содержат денежные суммы.

Ø Счетчик – для определения уникального системного ключа таблицы. Обычно используется для порядковой нумерации записей. При добавлении в таблицу новой записи значение этого поля увеличивается на 1 (единицу). Значения в таких полях не обновляются.

Ø Логический – для хранения данных, принимающих значения: Да или Нет.

Ø Поле объекта OLE – для хранения объектов, созданных в других приложениях.

Описание свойств полей

Как уже отмечалось, характеристики отдельных полей определяются в области свойств поля (вкладка Общие ). Каждое поле имеет определенный набор свойств – в зависимости от типа поля. Некоторые типы полей имеют схожие наборы свойств полей. Ниже перечислены основные свойства полей.

Ø Размер поля максимальная длина текстового поля (по умолчанию 50 знаков) или тип данных числового поля. Рекомендуется задавать минимально допустимое значение этого свойства, потому что обработка данных меньшего размера выполняется быстрее.

Если тип данных – числовой, допустимы следующие значения свойства Размер поля :

Замечание . В случае преобразования поля в меньшее по размеру, может произойти потеря данных.

Ø Формат поля – формат отображения данных на экране или печати. Как правило, используется формат, заданный по умолчанию.

Ø Число десятичных знаков – задает для числового и денежного типа данных число десятичных знаков после запятой.

Ø Маска ввода – определяет форму, в которой данные вводятся в поле (средство автоматизации ввода данных).

Ø Подпись – обозначение для поля, которое будет использоваться для отображения поля в таблице, форме или отчете. Если это значение не определено, в качестве подписи будет взято имя поля.

Ø Значение по умолчанию стандартное значение, которое автоматически вводится в поле при формировании новой записи данных.

Ø Условие на значение – задает ограничения на вводимые значения, тем самым позволяет осуществлять контроль над правильностью ввода данных.

Ø Сообщение об ошибке – задает текст сообщения, выводимый на экран в случае нарушения условия на значение.

Ø Обязательное поле – определяет, может ли данное поле содержать значения Null (т.е. оставаться пустым), или нужно обязательно вводить в это поле данные.

Ø Индексированное поле – используется для операций поиска и сортировки записей по значению, хранящемуся в данном поле, а также для автоматического исключения дублирования записей. Поля типа MEMO , Объект OLE и Гиперссылка не могут индексироваться.

Определение ключевого поля

После задания характеристик всех полей следует выбрать, по крайней мере, одно ключевое поле. Как правило, в качестве ключевых полей указываются поля, которые имеют неповторяющиеся данные или создаются поля с типом данных Счетчик . В любом случае, поле ключа не должно содержать повторяющихся данных. Чтобы определить ключ, необходимо выделить нужное поле (или поля) и нажать кнопку Ключевое поле Правка . Слева от маркера появится изображение ключа.

Сохранение таблицы

Перед вводом информации спроектированную таблицу необходимо сохранить: нажать кнопку Сохранить на панели инструментов или соответствующую команду в п. м. Файл и ввести название таблицы, после чего на экране появляется вопрос «Создать ключевое поле сейчас?» (Да или Нет)

Если выбирается ответ «Да », то Access создаст автоматически поле с именем «Код» и типом данных Счетчик , если «Нет », – то таблица будет создана без ключевого поля. В этом случае необходимо открыть созданную таблицу в режиме Конструктора и определить «вручную» ключевое поле.

Ввод данных

Чтобы перевести таблицу в режим ввода информации, нужно перейти в режим Таблицы . Поля заполняются последовательно. Переход от одного поля к другому удобно выполнять клавишей Tab (или комбинацией Shift+Tab – в обратном направлении). Если при проектировании таблицы для некоторых полей были предусмотрены значения по умолчанию, эти значения автоматически появятся в соответствующих полях. Записи в таблице можно перемещать, копировать и удалять теми же способами, что и в электронных таблицах, то есть сначала выделить строки, а потом выполнить необходимую операцию. Столбец можно выделить щелчком мыши по заголовку. Столбцы можно перемещать вправо и влево, пользуясь методом drag and drop (перетащить и бросить).

При необходимости можно вернуться в режим Конструктора . Это дает возможность что-либо подправить в структуре таблицы.

Сортировка данных в таблице

Данные, находящиеся в таблице, можно отсортировать в порядке возрастания или убывания. Для этого нужно поместить курсор мыши в любую ячейку столбца, значения которого будут отсортированы и из п. м. Записи выбрать команду Сортировка или нажать на панели соответствующую кнопку.

8. Создание связей между таблицами БД

Связь между таблицами устанавливается путем определения в одной таблице (подчиненной ) поля, соответствующего ключу другой таблицы (главной ). Установленная связь свяжет записи, содержащие в заданном поле одинаковые значения. Созданные связи позднее Access будет использовать в запросах, формах или отчетах.

Замечания.

Ø Оба связываемых поля должны иметь одинаковый тип данных .

Ø Свойства Размер поля для обоих связываемых полей числового типа должны быть одинаковыми.

Ø Если ключевым полем главной таблицы является поле с типом данных Счетчик , то это поле можно связать с числовым полем подчиненной таблицы. При этом для числового поля связанной таблицы для свойства Размер поля должно быть задано значение Длинное целое .

Целостность данных

Целостность данных – это набор правил, которые поддерживают корректность связей между записями в связанных таблицах и обеспечивают защиту данных от случайных изменений или удалений.

Эти правила включают:

Ø В подчиненной таблице нельзя вводить записи, которые не связаны с записью главной таблицы.

Ø В главной таблице нельзя изменять значение ключевого поля, если в подчиненной таблице существуют записи, которые с ней связаны.

Ø В главной таблице нельзя удалять записи, если в подчиненной таблице существуют связанные с ней записи.

Каскадные операции

Целостность данных в связанных таблицах обеспечивают каскадные операции двух видов:

Ø операции каскадного обновления;

Ø операции каскадного удаления.

Эти операции можно включать и выключать путем установки соответствующих флажков: «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».

Если установлен флажок «Каскадное обновление связанных полей», то любые изменения в значении ключевого поля в главной таблице, которая стоит на стороне «один» в отношениях 1:М, ведут к автоматическому обновлению соответствующих значений во всех связанных записях.

При установке флажка «Каскадное удаление связанных таблиц» при удалении записи из главной таблицы обеспечивается автоматическое удаление связанных записей в подчиненных таблицах.

Удаление (изменение) связей

Ø Открыть окно Схема данных ;

Ø активизировать левой кнопкой мыши связь, которую необходимо удалить (изменить);

Ø правой кнопкой мыши вызвать контекстно-зависимое меню и выбрать команду Удалить (Изменить ) соответственно.

9. Типы отношений между таблицами

Существует три типа отношений между таблицами:

Один-к-одному (1:1). Значению ключа в каждой записи в главной таблице могут соответствовать значения в связанном поле только в одной записи подчиненной таблицы. В этом случае связь между таблицами может быть установлена только через ключевые поля обеих таблиц.

Один-ко-многим (1:М). Значению ключа в каждой записи в главной таблице могут соответствовать значения в связанном поле (полях) в нескольких записях подчиненной таблицы. Этот тип отношения довольно часто используется в реляционных БД.

Много-ко-многим (М:М). Возникает между двумя таблицами, когда одна запись с первой таблицы А (выходная связь) может быть связана больше чем с одной записью другой таблицы В (принимающая), в свою очередь, одна запись с другой таблицы может быть связана больше чем с одной записью первой таблицы. Эта схема реализуется только при помощи третьей соединительной таблицы, ключ связи которой состоит, как минимум, из двух полей. Эти поля являются полями внешнего ключа в таблицах А и В. Первичный ключ для соединительной таблицы – это обычно комбинация из внешних ключей.

Если между таблицами имеются связи типа М:М, создается дополнительная таблица пересечений, с помощью которой связь М:М будет сведена к двум связям типа 1:М. Accеss не позволяет определить прямую связь М:М между двумя таблицами.

10. Формирование запросов

Запуск запроса

Для запуска запроса на исполнение из окна Конструктора надо на панели инструментов нажать кнопку «Запуск » ! или выполнить команду Запрос/Запуск . Результаты выборки данных по запросу выводятся на экран в режиме таблицы.

Формирование Условий отбора

Список операторов используемых при задании выражений следующий:

Ø операторысравнения:


= (равно)

<> (не равно)

> (больше)

>= (не меньше)

< (меньше)

<= (не больше)


BETWEEN – позволяет задать диапазон значений. Синтаксис: Between «Выражение»And «Выражение» (например: BETWEEN 10 And 20 означает тоже, что и логическое выражение>= 10 AND <= 20).

IN – позволяет задавать используемый для сравнения список значений (операндом является список, заключенный в круглые скобки). Например: IN ("Брест", "Минск", "Гродно") означает тоже самое, что и логическое выражение "Брест" OR "Минск" OR "Гродно".

Ø логические операторы:

АND (например: >=10 AND <=20)

OR (например: <50 OR >100)

NOT (например: Is Not Null – поле, содержащее какое-либо значение).

Ø операторLIKE – проверяет соответствие текстового или Memo поля по заданному шаблону символов.

Таблица символов шаблона

Примеры использования оператора Like :

LIKE "С *" – строки, начинающиеся с символа С;

LIKE "[ A - Z ] #" – любой символ от А до Z и цифра;

LIKE "[! 0 - 9 ABC] * # #" – строки, начинающиеся с любого символа кроме цифры или букв А, В, С и заканчивающиеся на 2 цифры;

Сложные критерии выборки

Часто приходится выбирать записи по условию, которое задается для нескольких полей таблицы или по нескольким условиям для одного поля. В этом случае применяются «И-запросы» (выбор записей только при условии выполнения всех условий) и«ИЛИ-запросы» (выбор записей при выполнении хотя бы одного из условий).

При задании «ИЛИ-запроса » каждое условие выборки должно размещаться на отдельной строке Бланка запроса .

При задании «И-запроса » каждое условие выборки должно размещаться на одной строке, но в разных полях Бланка запроса .

Эти операции могут быть заданы явно с помощью операторовOR иAND соответственно.

Функции Iif() и Format()

Функция IIf(условие; еслиИстина; еслиЛожь) – возвращает один из двух аргументов в зависимости от результата вычисления выражения.

Функция Format(выражение; инструкция форматирования) – возвращает строку, содержащую выражение, отформатированное согласно инструкциям форматирования.

Для выражений даты/времени можно применять следующие символы в инструкции форматирования:

I. Иерархическая модель

II. Сетевая модель

III. Реляционная модель

В реляционной модели информация представляется в виде прямоугольных таблиц. Каждая таблица состоит из строк и столбцов и имеет имя, уникальное внутри БД. В свою очередь, каждая строка (запись ) такой таблицы содержит информацию, относящуюся только к одному конкретному объекту, а каждый столбец (поле ) таблицы имеет уникальное для своей таблицы имя.

Реляционные базы данных (РБД), в отличие от иерархических и сетевых моделей , позволяют организовывать связи между таблицами в любой момент. Для этого в РБД реализован механизм внешних ключей . В каждой таблице БД имеется хотя бы одно поле, служащее ссылкой для другой таблицы. В терминологии РБД такие поля называются полями внешних ключей. С помощью внешних ключей можно связывать любые таблицы БД на любом этапе работы с БД.


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

Реляционная БД (РБД) – это совокупность простейших двумерных логически взаимосвязанных таблиц-отношений, состоящих из множества полей и записей, отражающих некоторую предметную область.

Реляционная модель данных была предложена Е. Коддом, известным американским специалистом в области баз данных. Основные концепции этой модели были впервые опубликованы в 1970 г. Будучи математиком по образованию, Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение (по-английски – relation, отсюда и название – реляционные базы данных).

Одна из главных идей Кодда заключалась в том, что связь между данными должны устанавливаться в соответствии с их внутренними логическими взаимоотношениями. Второй важный принцип, предложенный Коддом, заключается в том, что в реляционных системах одной командой могут обрабатываться целые файлы данных, в то время как ранее одной командой обрабатывалась только одна запись.

Базовые понятия реляционных баз данных (РБД)

* Отношение – информация об объектах одного типа, например, о клиентах, заказах, сотрудниках. В реляционной БД отношение хранится в виде таблицы.

* Атрибут – определенная часть информации о некотором объекте – например, адрес клиента или зарплата сотрудника. Атрибут обычно хранится в виде столбца (поля) таблицы.

* Тип данных – понятие, которое в реляционной модели полностью эквивалентно соответствующему понятию в алгоритмических языках. Набор поддерживаемых типов данных определяется СУБД и может сильно различаться в разных системах.

* Связь – способ, которым связана информация в одной таблице с информацией в другой таблице. Связи осуществляются с помощью совпадающих полей, которые называются ключом.

* Объединение – процесс объединения таблиц или запросов на основе совпадающих значений определенных атрибутов.

Правила (нормализации) построения реляционной БД

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

1. Каждое поле любой таблицы должно быть уникальным.

2. Каждая таблица должна иметь уникальный идентификатор (первичный ключ ), который может состоять из одного или нескольких полей таблицы.

3. Для каждого значения первичного ключа должно быть одно и только одно значение любого из столбцов данных, и это значение должно относиться к объекту таблицы (т.е. в таблице не должно быть данных, которые не относятся к объекту, определяемому первичным ключом, а также информация в таблице должна полностью описывать объект).

4. Должна иметься возможность изменять значения любого поля (не входящего в первичный ключ), и это не должно повлечь за собой изменения другого поля (т.е. не должно быть вычисляемых полей).

5. Системы управления базами данных (СУБД)

Поддержание баз данных в компьютерной среде осуществляют программные средства – системы управления базами данных (database management system), которые представляют собой совокупность программных и языковых средств общего или специализированного назначения, необходимых для создания баз данных на машинных носителях, поддержания их в актуальном состоянии и организации доступа к ним различных пользователей в условиях принятой технологии обработки данных.

СУБД – это управляющие программы, которые обеспечивают все манипуляции с базами данных: создание базы, ее ведение, ее использование многими пользователями и др., т. е. реализуют сложный комплекс функций по централизованному управлению базой данных и обслуживают интересы пользователей.

СУБД можно рассматривать как программную оболочку, которая находится между базой данных и пользователем. Она обеспечивает централизованный контроль защиты и целостности данных, доступ к данным, их обработку, формирование отчетов на основе базы данных и другие операции и процедуры.

Реляционная система управления базами данных (РСУБД)

Набор средств для управления РБД называется реляционной системой управления базами данных , которая может содержать утилиты, приложения, службы, библиотеки, средства создания приложений и другие компоненты. Будучи связанной посредством общих ключевых полей, информация в РБД может объединяться из множества таблиц в единый результирующий набор.

Основными функциями РСУБД являются:

· Определение данных – какая информация будет храниться, задать структуру БД и их тип.

· Обработка данных – можно выбирать любые поля, сортировать и фильтровать данные. Можно объединять данные и подводить итоги.

· Управление данными – корректировать и добавлять данные.

6. Общая характеристика СУБД ACCESS

Microsoft Access – это функционально полная реляционная СУБД, в которой предусмотрены все необходимые средства для определения и обработки данных, а также для управления ими при работе с большими объемами информации. Различные ее версии входят в состав программного пакета MS Office и работают в среде Windows (3.11/95/98/2000/XP).

Окно БД в Access

После создания нового файла БД или открытия существующего в рабочей области окна Access появляется окно базы данных:


  • Перевод
Примечание переводчика: хоть статья довольно старая (опубликована 2 года назад) и носит громкое название, в ней все же дается хорошее представление о различиях реляционных БД и NoSQL БД, их преимуществах и недостатках, а также приводится краткий обзор нереляционных хранилищ.

В последнее время появилось много нереляционных баз данных. Это говорит о том, что если вам нужна практически неограниченная масштабируемость по требованию, вам нужна нереляционная БД.

Если это правда, значит ли это, что могучие реляционные БД стали уязвимы? Значит ли это, что дни реляционных БД проходят и скоро совсем пройдут? В этой статье мы рассмотрим популярное течение нереляционных баз данных применительно к различным ситуациям и посмотрим, повлияет ли это на будущее реляционных БД.

Реляционные базы данных существуют уже около 30 лет. За это время вспыхивало несколько революций, которые должны были положить конец реляционным хранилищам. Конечно, ни одна из этих революций не состоялась, и одна из них ни на йоту не поколебала позиции реляционных БД.

Начнем с основ

Реляционная база данных представляет собой набор таблиц (сущностей). Таблицы состоят из колонок и строк (кортежей). Внутри таблиц могут быть определены ограничения, между таблицами существуют отношения. При помощи SQL можно выполнять запросы, которые возвращают наборы данных, получаемых из одной или нескольких таблиц. В рамках одного запроса данные получаются из нескольких таблиц путем их соединения (JOIN), чаще всего для соединения используются те же колонки, которые определяют отношения между таблицами. Нормализация - это процесс структурирования модели данных, обеспечивающий связность и отсутствие избыточности в данных.


Доступ к реляционным базам данных осуществляется через реляционные системы управления базами данных (РСУБД). Почти все системы баз данных, которые мы используем, являются реляционными, такие как Oracle, SQL Server, MySQL, Sybase, DB2, TeraData и так далее.

Причины такого доминирования неочевидны. На протяжении всего существования реляционных БД они постоянно предлагали наилучшую смесь простоты, устойчивости, гибкости, производительности, масштабируемости и совместимости в сфере управлении данными.

Однако чтобы обеспечить все эти особенности, реляционные хранилища невероятно сложны внутри. Например, простой SELECT запрос может иметь сотни потенциальных путей выполнения, которые оптимизатор оценит непосредственно во время выполнения запроса. Все это скрыто от пользователей, однако внутри РСУБД создает план выполнения, основывающийся на вещах вроде алгоритмов оценки стоимости и наилучшим образом отвечающий запросу.

Проблемы реляционных БД

Хотя реляционные хранилища и обеспечивают наилучшую смесь простоты, устойчивости, гибкости, производительности, масштабируемости и совместимости, их показатели по каждому из этих пунктов не обязательно выше, чем у аналогичных систем, ориентированных на какую-то одну особенность. Это не являлось большой проблемой, поскольку всеобщее доминирование реляционных СУБД перевешивало какие-либо недочеты. Тем не менее, если обычные РБД не отвечали потребностям, всегда существовали альтернативы.

Сегодня ситуация немного другая. Разнообразие приложений растет, а с ним растет и важность перечисленных особенностей. И с ростом количества баз данных, одна особенность начинает затмевать все другие. Это масштабируемость. Поскольку все больше приложений работают в условиях высокой нагрузки, например, таких как веб-сервисы, их требования к масштабируемости могут очень быстро меняться и сильно расти. Первую проблему может быть очень сложно разрешить, если у вас есть реляционная БД, расположенная на собственном сервере. Предположим, нагрузка на сервер за ночь увеличилась втрое. Как быстро вы сможете проапгрейдить железо? Решение второй проблемы также вызывает трудности в случае использования реляционных БД.

Реляционные БД хорошо масштабируются только в том случае, если располагаются на единственном сервере. Когда ресурсы этого сервера закончатся, вам необходимо будет добавить больше машин и распределить нагрузку между ними. И вот тут сложность реляционных БД начинает играть против масштабируемости. Если вы попробуете увеличить количество серверов не до нескольких штук, а до сотни или тысячи, сложность возрастет на порядок, и характеристики, которые делают реляционные БД такими привлекательными, стремительно снижают к нулю шансы использовать их в качестве платформы для больших распределенных систем.

Чтобы оставаться конкурентоспособными, вендорам облачных сервисов приходится как-то бороться с этим ограничением, потому что какая ж это облачная платформа без масштабируемого хранилища данных. Поэтому у вендоров остается только один вариант, если они хотят предоставлять пользователям масштабируемое место для хранения данных. Нужно применять другие типы баз данных, которые обладают более высокой способностью к масштабированию, пусть и ценой других возможностей, доступных в реляционных БД.

Эти преимущества, а также существующий спрос на них, привел к волне новых систем управления базами данных.

Новая волна

Такой тип баз данных принято называть хранилище типа ключ-значение (key-value store). Фактически, никакого официального названия не существует, поэтому вы можете встретить его в контексте документо-ориентированных, атрибутно-ориентированных, распределенных баз данных (хотя они также могут быть реляционными), шардированных упорядоченных массивов (sharded sorted arrays), распределенных хэш-таблиц и хранилищ типа ключ-значения. И хотя каждое из этих названий указывает на конкретные особенности системы, все они являются вариациями на тему, которую мы будем назвать хранилище типа ключ-значение.

Впрочем, как бы вы его не называли, этот «новый» тип баз данных не такой уж новый и всегда применялся в основном для приложений, для которых использование реляционных БД было бы непригодно. Однако без потребности веба и «облака» в масштабируемости, эти системы оставались не сильно востребованными. Теперь же задача состоит в том, чтобы определить, какой тип хранилища больше подходит для конкретной системы.
Реляционные БД и хранилища типа ключ-значение отличаются коренным образом и предназначены для решения разных задач. Сравнение характеристик позволит всего лишь понять разницу между ними, однако начнем с этого:

Характеристики хранилищ

Реляционная БД Хранилище типа ключ-значение
База данных состоит из таблиц, таблицы содержат колонки и строки, а строки состоят из значений колонок. Все строки одной таблицы имеют единую структуру.
Для доменов можно провести аналогию с таблицами, однако в отличие от таблиц для доменов не определяется структура данных. Домен – это такая коробка, в которую вы можете складывать все что угодно. Записи внутри одного домена могут иметь разную структуру.
Модель данных 1 определена заранее. Является строго типизированной, содержит ограничения и отношения для обеспечения целостности данных.
Записи идентифицируются по ключу, при этом каждая запись имеет динамический набор атрибутов, связанных с ней.
Модель данных основана на естественном представлении содержащихся данных, а не на функциональности приложения.
В некоторых реализация атрибуты могут быть только строковыми. В других реализациях атрибуты имеют простые типы данных, которые отражают типы, использующиеся в программировании: целые числа, массива строк и списки.
Модель данных подвергается нормализации, чтобы избежать дублирования данных. Нормализация порождает отношения между таблицами. Отношения связывают данные разных таблиц.
Между доменами, также как и внутри одного домена, отношения явно не определены.

Никаких join’ов

Хранилища типа ключ-значение ориентированы на работу с записями. Это значит, что вся информация, относящаяся к данной записи, хранится вместе с ней. Домен (о котором вы можете думать как о таблице) может содержать бессчетное количество различных записей. Например, домен может содержать информацию о клиентах и о заказах. Это означает, что данные, как правило, дублируются между разными доменами. Это приемлемый подход, поскольку дисковое пространство дешево. Главное, что он позволяет все связанные данные хранить в одном месте, что улучшает масштабируемость, поскольку исчезает необходимость соединять данные из различных таблиц. При использовании реляционной БД, потребовалось бы использовать соединения, чтобы сгруппировать в одном месте нужную информацию.


Хотя для хранения пар ключ-значение потребность в отношения резко падает, отношения все же нужны. Такие отношения обычно существуют между основными сущностями. Например, система заказов имела бы записи, которые содержат данные о покупателях, товарах и заказах. При этом неважно, находятся ли эти данные в одном домене или в нескольких. Суть в том, что когда покупатель размещает заказ, вам скорее всего не захочется хранить информацию о покупателе и о заказе в одной записи.
Вместо этого, запись о заказе должна содержать ключи, которые указывают на соответствующие записи о покупателе и товаре. Поскольку в записях можно хранить любую информацию, а отношения не определены в самой модели данных, система управления базой данных не сможет проконтролировать целостность отношений. Это значит, что вы можете удалять покупателей и товары, которые они заказывали. Обеспечение целостности данных целиком ложится на приложение.

Доступ к данным

Реляционная БД Хранилище типа ключ-значение
Данные создаются, обновляются, удаляются и запрашиваются с использованием языка структурированных запросов (SQL).
Данные создаются, обновляются, удаляются и запрашиваются с использованием вызова API методов.
SQL-запросы могут извлекать данные как из одиночной таблица, так и из нескольких таблиц, используя при этом соединения (join’ы).
Некоторые реализации предоставляют SQL-подобный синтаксис для задания условий фильтрации.
SQL-запросы могут включать агрегации и сложные фильтры.
Зачастую можно использовать только базовые операторы сравнений (=, !=, <, >, <= и =>).
Реляционная БД обычно содержит встроенную логику, такую как триггеры, хранимые процедуры и функции.
Вся бизнес-логика и логика для поддержки целостности данных содержится в коде приложений.

Взаимодействие с приложениями

Хранилища типа ключ-значение: преимущества

Есть два четких преимущества таких систем перед реляционными хранилищами.
Подходят для облачных сервисов
Первое преимущество хранилищ типа ключ-значение состоит в том, что они проще, а значит обладают большей масштабируемостью, чем реляционные БД. Если вы размещаете вместе собственную систему, и планируете разместить дюжину или сотню серверов, которым потребуется справляться с возрастающей нагрузкой, за вашим хранилищем данных, тогда ваш выбор – хранилища типа ключ-значение.

Благодаря тому, что такие хранилища легко и динамически расширяются, они также пригодятся вендорам, которые предоставляют многопользовательскую веб-платформу хранения данных. Такая база представляет относительно дешевое средство хранения данных с большим потенциалом к масштабируемости. Пользователи обычно платят только за то, что они используют, однако их потребности могут вырасти. Вендор сможет динамически и практически без ограничений увеличить размер платформы, исходя из нагрузки.

Более естественная интеграция с кодом
Реляционная модель данных и объектная модель кода обычно строятся по-разному, что ведет к некоторой несовместимости. Разработчики решают эту проблему при помощи написания кода, который отображает реляционную модель в объектную модель. Этот процесс не имеет четкой и быстро достижимой ценности и может занять довольно значительное время, которое могло быть потрачено на разработку самого приложения. Тем временем многие хранилища типа ключ-значение хранят данные в такой структуре, которая отображается в объекты более естественно. Это может существенно уменьшить время разработки.

Другие аргументы в пользу использования хранилищ типа ключ-значение, наподобие «Реляционные базы могут стать неуклюжими» (кстати, я без понятия, что это значит), являются менее убедительными. Но прежде чем стать сторонником таких хранилищ, ознакомьтесь со следующим разделом.

Хранилища типа ключ-значение: недостатки

Ограничения в реляционных БД гарантируют целостность данных на самом низком уровне. Данные, которые не удовлетворяют ограничениям, физически не могут попасть в базу. В хранилищах типа ключ-значение таких ограничений нет, поэтому контроль целостности данных полностью лежит на приложениях. Однако в любом коде есть ошибки. Если ошибки в правильно спроектированной реляционной БД обычно не ведут к проблемам целостности данных, то ошибки в хранилищах типа ключ-значение обычно приводят к таким проблемам.

Другое преимущество реляционных БД заключается в том, что они вынуждают вас пройти через процесс разработки модели данных. Если вы хорошо спроектировали модель, то база данных будет содержать логическую структуру, которая полностью отражает структуру хранимых данных, однако расходится со структурой приложения. Таким образом, данные становятся независимы от приложения. Это значит, что другое приложение сможет использовать те же самые данные и логика приложения может быть изменена без каких-либо изменений в модели базы. Чтобы проделать то же самое с хранилищем типа ключ-значение, попробуйте заменить процесс проектирования реляционной модели проектированием классов, при котором создаются общие классы, основанные на естественной структуре данных.

И не забудьте о совместимости. В отличие от реляционных БД, хранилища, ориентированные на использование в «облаке», имеют гораздо меньше общих стандартов. Хоть концептуально они и не отличаются, они все имеют разные API, интерфейсы запросов и свою специфику. Поэтому вам лучше доверять вашему вендору, потому что в случае чего, вы не сможете легко переключиться на другого поставщика услуг. А учитывая тот факт, что почти все современные хранилища типа ключ-значение находятся в стадии бета-версий 2 , доверять становится еще рискованнее, чем в случае использования реляционных БД.

Ограниченная аналитика данных
Обычно все облачные хранилища строятся по типу множественной аренды , что означает, что одну и ту же систему использует большое количество пользователей и приложений. Чтобы предотвратить «захват» общей системы, вендоры обычно каким-то образом ограничивают выполнение запросов. Например, в SimpleDB запрос не может выполняться дольше 5 секунд. В Google AppEngine Datastore за один запрос нельзя получить больше, чем 1000 записей 3 .

Эти ограничения не страшны для простой логики (создание, обновление, удаление и извлечение небольшого количества записей). Но что если ваше приложение становится популярным? Вы получили много новых пользователей и много новых данных, и теперь хотите сделать новые возможности для пользователей или каким-то образом извлечь выгоду из данных. Тут вы можете жестко обломаться с выполнением даже простых запросов для анализа данных. Фичи наподобие отслеживания шаблонов использования приложения или системы рекомендаций, основанной на истории пользователя, в лучшем случае могут оказаться сложны в реализации. А в худшем - просто невозможны.

В таком случае для аналитики лучше сделать отдельную базу данных, которая будет заполняться данными из вашего хранилища типа ключ-значение. Продумайте заранее, каким образом это можно будет сделать. Будете ли вы размещать сервер в облаке или у себя? Не будет ли проблем из-за задержек сигнала между вами и вашим провайдером? Поддерживает ли ваше хранилище такой перенос данных? Если у вас 100 миллионов записей, а за один раз вы можете взять 1000 записей, сколько потребуется на перенос всех данных?

Однако не ставьте масштабируемость превыше всего. Она будет бесполезна, если ваши пользователи решат пользоваться услугами другого сервиса, потому что тот предоставляет больше возможностей и настроек.

Облачные хранилища

Множество поставщиков веб-сервисов предлагают многопользовательские хранилища типа ключ-значение. Большинство из них удовлетворяют критериям, перечисленным выше, однако каждое обладает своими отличительными фичами и отличается от стандартов, описанных выше. Давайте взглянем на конкретные пример хранилищ, такие как SimpleDB, Google AppEngine Datastore и SQL Data Services.
Amazon: SimpleDB
SimpleDB - это атрибутно-ориентированное хранилище типа ключ-значение, входящее в состав Amazon WebServices. SimpleDB находится в стадии бета-версии; пользователи могут пользовать ей бесплатно - до тех пор пока их потребности не превысят определенный предел.

У SimpleDB есть несколько ограничений. Первое - время выполнения запроса ограничено 5-ю секундами. Второе - нет никаких типов данных, кроме строк. Все хранится, извлекается и сравнивается как строка, поэтому для того, чтобы сравнить даты, вам нужно будет преобразовать их в формат ISO8601. Третье - максимальные размер любой строки составляет 1024 байта, что ограничивает размер текста (например, описание товара), который вы можете хранить в качестве атрибута. Однако поскольку структура данных гибкая, вы можете обойти это ограничения, добавляя атрибуты «ОписаниеТовара1», «Описание товара2» и т.д. Но количество атрибутов также ограничено - максимум 256 атрибутов. Пока SimpleDB находится в стадии бета-версии, размер домена ограничен 10-ю гигабайтами, а вся база не может занимать больше 1-го терабайта.

Одной из ключевых особенностей SimpleDB является использование модели конечной констистенции (eventual consistency model). Эта модель подходит для многопоточной работы, однако следует иметь в виду, что после того, как вы изменили значение атрибута в какой-то записи, при последующих операциях чтения эти изменения могут быть не видны. Вероятность такого развития событий достаточно низкая, тем не менее, о ней нужно помнить. Вы же не хотите продать последний билет пяти покупателям только потому, что ваши данные были неконсистентны в момент продажи.

Google AppEngine Data Store
Google"s AppEngine Datastore построен на основе BigTable, внутренней системе хранения структурированных данных от Google. AppEngine Datastore не предоставляет прямой доступ к BigTable, но может восприниматься как упрощенный интерфейс взаимодействия с BigTable.

AppEngine Datastore поддерживает большее число типов данных внутри одной записи, нежели SimpleDB. Например, списки, которые могут содержать коллекции внутри записи.

Скорее всего вы будете использовать именно это хранилище данных при разработке с помощью Google AppEngine. Однако в отличии от SimpleDB, вы не сможете использовать AppEngine Datastore (или BigTable) вне веб-сервисов Google.

Microsoft: SQL Data Services

SQL Data Services является частью платформы Microsoft Azure . SQL Data Services является бесплатной, находится в стадии бета-версии и имеет ограничения на размер базы. SQL Data Services представляет собой отдельное приложение - надстройку над множеством SQL серверов, которые и хранят данные. Эти хранилища могут быть реляционными, однако для вас SDS является хранилищем типа ключ-значение, как и описанные выше продукты.

Необлачные хранилища

Существует также ряд хранилищ, которыми вы можете воспользоваться вне облака, установив их у себя. Почти все эти проекты являются молодыми, находятся в стадии альфа- или бета-версии, и имеют открытый код. С открытыми исходниками вы, возможно, будете больше осведомлены о возможных проблемах и ограничениях, нежели в случае использования закрытых продуктов.
CouchDB
CouchDB - это свободно распространяемая документо-ориентированная БД с открытым исходным кодом. В качестве формата хранения данных используется JSON. CouchDB призвана заполнить пробел между документо-ориентированными и реляционными базами данных с помощью «представлений». Такие представления содержат данные из документов в виде, схожим с табличным, и позволяют строить индексы и выполнять запросы.

В настоящее время CouchDB не является по-настоящему распределенной БД. В ней есть функции репликации, позволяющие синхронизировать данные между серверами, однако это не та распределенность, которая нужна для построения высокомасштабируемого окружения. Однако разработчики CouchDB работают над этим.
Проект Voldemort
Проект Voldemort - это распределенная база данных типа ключ-значение, предназначенная для горизонтального масштабирования на большом количестве серверов. Он родилась в процессе разработки LinkedIn и использовалась для нескольких систем, имеющих высокие требования к масштабируемости. В проекте Voldemort также используется модель конечной консистенции.
Mongo

Mongo - это база данных, разрабатываемая в 10gen Гейром Магнуссоном и Дуайтом Меррименом (которого вы можете знать по DoubleClick). Как и CouchDB, Mongo - это документо-ориентированная база данных, хранящая данные в JSON формате. Однако Mongo скорее является объектной базой, нежели чистым хранилищем типа ключ-значение.
Drizzle

Drizzle представляет совсем другой подход к решению проблем, с которыми призваны бороться хранилища типа ключ-значение. Drizzle начинался как одна из веток MySQL 6.0. Позже разработчики удалили ряд функций (включая представления, триггеры, скомпилированные выражения, хранимые процедуры, кэш запросов, ACL, и часть типов данных), с целью создания более простой и быстрой СУБД. Тем не менее, Drizzle все еще можно использовать для хранения реляционных данных. Цель разработчиков - построить полуреляционную платформу, предназначенную для веб-приложений и облачных приложений, работающих на системах с 16-ю и более ядрами.

Решение

В конечном счете, есть четыре причины, по которым вы можете выбрать нереляционное хранилище типа ключ-значение для своего приложения:
  1. Ваши данные сильно документо-ориентированны, и больше подходят для модели данных ключ-значение, чем для реляционной модели.
  2. Ваша доменная модель сильно объектно-ориентированна, поэтому использования хранилища типа ключ-значение уменьшит размер дополнительного кода для преобразования данных.
  3. Хранилище данных дешево и легко интегрируется с веб-сервисами вашего вендора.
  4. Ваша главная проблема - высокая масштабируемость по запросу.
Однако принимая решение, помните об ограничениях конкретных БД и о рисках, которые вы встретите, пойдя по пути использования нереляционных БД.

Для всех остальных требований лучше выбрать старые добрые реляционные СУБД. Так обречены ли они? Конечно, нет. По крайней мере, пока.

1 - по моему мнению, здесь больше подходит термин «структура данных», однако оставил оригинальное data model.
2 - скорее всего, автор имел в виду, что по своим возможностям нереляционные БД уступают реляционным.
3 - возможно, данные уже устарели, статья датируется февралем 2009 года.

Добавить метки

Функции СУБД.

Функции СУБД бывают высокого и низкого уровня.

Функции высокого уровня:

1. Определение данных – с помощью этой функции определяется какая информация будет храниться в БД (тип, свойства данных и как они между собой будут связаны).

2. Обработка данных. Информация может обрабатываться разными способами: выборка, фильтрация, сортировка, объединение одной информации с другой, вычисление итоговых значений.

3. Управление данными . С помощью этой функции указывается, кому разрешено знакомиться с данными, корректировать их или добавлять новую информацию, а также определять правила коллективного доступа.

Функции низкого уровня:

1. Управление данными во внешней памяти;

2. Управление буферами оперативной памяти;

3. Управление транзакциями;

4. Введение журнала изменений в БД;

5. Обеспечение целостности и безопасности БД.

Транзакцией называется неделимая последовательность операций, которая отслеживается СУБД от начала и до завершения, и в которой при невыполнении одной операции отменяется вся последовательность.

Журнал СУБД – особая БД или часть основной БД, недоступная пользователю и используемая для записи информации обо всех изменениях базы данных.

Введение журнала СУБД предназначено для обеспечения надёжности хранения в базе данных при наличии аппаратных сбоев и отказов, а так же ошибок в программном обеспечении.

Целостность базы данных – это свойство БД, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация.

Классификация СУБД.

СУБД можно классифицировать:

1. По видам программ:

a. Серверы БД (например, MS SQL Server, InterBase (Borland)) – предназначены для организации центров обработки данных в сетях ЭВМ и реализуют функции управления базами данных, запрашиваемые клиентскими программами с помощью операторов SQL (т.е. программы, которые отвечают на запросы);

b. Клиенты БД – программы, которые запрашивают данные. В качестве клиентских программ могут использоваться ПФСУБД, электронные таблицы, текстовые процессоры, программы электронной почты;

c. Полнофункциональные БД (MS Access, MS Fox Pro) – программа, имеющая развитый интерфейс, позволяющий создавать и модифицировать таблицы, вводить данные, создавать и форматировать запросы, разрабатывать отчёты и выводить их на печать.

2. По модели данных СУБД (как и БД):

a. Иерархические – основаны на древовидной структуре хранения информации и напоминают файловую систему компьютера; основной недостаток - невозможность реализовать отношение многие - ко – многим;

b. Сетевые – которые пришли на смену иерархическим и просуществовали недолго т. к. основной недостаток – сложность разработки серьёзных приложений. Основное отличие сетевой от иерархической в том, что в иерархической структура «запись – потомок» имеет только одного предка, а в сетевой потомок может иметь любое количество предков;

c. Реляционные – данные которых размещены в таблицах, между которыми существуют определённые связи;

d. Объектно – ориентированные – в них данные хранятся в виде объектов и основное преимущество при работе с ними в том, что к ним можно применить объектно – ориентированный подход;

e. Гибридные, т. е. объектно – реляционные – совмещают в себе возможности реляционных и объектно – ориентированных баз данных. Примером такой базы данных является Oracle (ранее она была реляционной).

3. В зависимости от расположения отдельных частей СУБД различают:

a. локальные – все части которой располагаются на одном компьютере;

b. сетевые.

К сетевым относятся:

- с организацией файл – сервер ;

При такой организации все данные находятся на одном компьютере, который называется файл – сервер, и который подключён к сети. При отыскании нужной информации передаётся весь файл, содержащий в том числе и много избыточной информации. И лишь при создании локальной копии отыскивается нужная запись.

- с организацией клиент – сервер;

Сервер БД принимает запрос от клиента, отыскивает в данных нужную запись и передаёт её клиенту. Запрос к серверу формируется на языке структурированных запросов SQL, поэтому серверы БД называют SQL – серверами.

- распределённые СУБД содержат несколько десятков и сотен серверов, размещённых на значительной территории.

Основные положения реляционной модели БД.

Реляционной базой данных называется такая база данных, в которой все данные организованы в виде таблиц, а все операции над этими данными сводятся к операциям над таблицами.

Особенности реляционных баз данных:

1. Данные хранятся в таблицах, состоящих из столбцов и строк;

2. На пересечении каждого столбца и строки находится одно значение;

3. У каждого столбца - поля есть своё имя, которое служит его названием - атрибут, и все значения в одном столбце, имеют один тип;

4. Столбцы располагаются в определённом порядке, который задаётся при создании таблицы, в отличие от строк, которые располагаются в произвольном порядке. В таблице может не быть ни одной строчки, но обязательно должен быть хотя бы один столбец.

Терминология реляционной базы данных:

Элемент реляционной БД Форма представления
1. База данных Набор таблиц
2. Схема базы данных Набор заголовков таблиц
3. Отношение Таблица
4. Схема отношения Строка заголовков столбцов таблицы
5. Сущность Описание свойств объекта
6. Атрибут Заголовок столбца
7. Домен Множество допустимых значений атрибута
8. Первичный ключ Уникальный идентификатор, однозначно определяющий каждую запись в таблице
9. Тип данных Тип значений элементов в таблице
10. Кортеж Строка (запись)
11. Кардинальность Количество строк в таблице
12. Степень отношения Количество полей
13. Тело отношения Множество кортежей отношения

При проектировании реляционной БД данные размещают в нескольких таблицах. Между таблицами устанавливают связи с помощью ключей. При связывании таблиц выделяют основную и дополнительную (подчинённую) таблицу.

Существуют следующие виды связей между таблицами:

1. Связь вида 1:1 (один к одному) означает, что каждой записи в основной таблице соответствует одна запись в дополнительной таблице и, наоборот, каждой записи в дополнительной таблице соответствует одна запись в основной таблице.

2. Связь вида 1:М (один ко многим) означает, что каждой записи в основной таблице соответствует несколько записей в дополнительной таблице и, наоборот, каждой записи в дополнительной таблице соответствует только одна запись в основной таблице.

3. Связь вида М:1 (многим к одному) означает, что одной или нескольким записям в основной таблице соответствует только одна запись в дополнительной таблице.

4. Связь вида М:М (многим ко многим) – это, когда нескольким записям основной таблицы соответствует несколько записей дополнительной и наоборот.

5. Основные компоненты MS Access.

Основными компонентами (объектами) MS Access являются:

1. Таблицы;

3. Формы;

4. Отчёты;

5. Макросы:

Модули.

Таблица – это объект, предназначенный для хранения данных в виде записей (строк) и полей (столбцов). Каждое поле содержит отдельную часть записи, а каждая таблица используется для хранения сведений по одному конкретному вопросу.

Запрос – вопрос о данных, хранящихся в таблицах, или инструкция на отбор записей, подлежащих изменению.

Форма – это объект, в котором можно разместить элементы управления, предназначенные для ввода, изображения и изменения данных в полях таблицах.

Отчёт – это объект, который позволяет представить определённую пользователем информацию в определённом виде, просматривать и распечатывать её.

Макрос – одна или несколько макрокоманд, которые можно использовать для автоматизации конкретной задачи. Макрокоманда – основной строительный блок макроса; самостоятельная инструкция, которая может быть объединена с другими макрокомандами, чтобы автоматизировать выполнение задачи.

Модуль – набор описаний, инструкций и процедур, сохранённых под одним именем. В MS Access имеется три вида модулей:модуль формы, отчёта и общий модуль. Модули формы и отчётов содержат локальную программу для форм и отчётов.

6. Таблицы в MS Access.

В MS Access существуют следующие методы создания таблиц:

1. Режим таблицы;

2. Конструктор;

3. Мастер таблиц;

4. Импорт таблиц;

5. Связь с таблицами.

В режиме таблицы данные вводятся в пустую таблицу. Для ввода данных предоставляется таблица с 30 полями. После её сохранения MS Access сам решает, какой тип данных присвоить каждому полю.

Конструктор предоставляет возможность самостоятельно создавать поля, выбирать типы данных для полей, размеры полей и устанавливать свойства полей.

Для определения поля в режиме Конструктор задаются:

1. Имя поля , которое в каждой таблице должно иметь уникальное имя, являющееся комбинацией букв, цифр, пробелов и специальных символов, за исключением «.!” “ ». Максимальная длина имени 64 символа.

2. Тип данных определяет вид и диапазон допустимых значений, а также объём памяти, выделенный для этого поля.

Типы данных MS Access

Тип данных Описание
Текстовый Текст и числа, например, имена и адреса, номера телефонов, почтовые индексы (до 255 символов).
Поле Memo Длинный текст и числа, например комментарии и пояснения (до 64000 символов).
Числовой Общий тип данных для числовых данных, допускающих проведение математических расчётов, за исключением денежных расчётов.
Дата / время Значения даты и времени. Пользователь может выбирать стандартные формы или создавать специальный формат.
Денежный Денежные значения. Для денежных расчётов не рекомендуется использовать числовые типы данных, т.к. они могут округляться при расчётах. Значения типа «денежный» всегда выводятся с указанным числом десятичных знаков после запятой.
Счётчик Автоматически выставляющиеся последовательные номера. Нумерация начинается с 1. Поле счётчика удобно для создания ключа. Это поле является совместимым с полем числового типа, для которого в свойстве Размер указано значение «Длинное целое».
Логический Значения «Да / Нет», «Истинно / Ложь», «Вкл / Выкл», одно из двух возможных значений.
Поле объекта OLE Объекты, созданные в других программах, поддерживающие протокол OLE.

3. Наиболее важные свойства полей:

- Размер поля задаёт максимальный размер данных, сохраняемых в поле.

- Формат поля является форматом отображения заданного типа данных и задаёт правила представления данных при выводе их на экран или печать.

- Подпись поля задаёт текст, который выводится в таблицах, формах, отчётах.

- Условие на значение позволяет осуществлять контроль ввода, задаёт ограничения на вводимые значения, при нарушении условий запрещает ввод и выводит текст, заданный свойством Сообщение об ошибке;

- Сообщение об ошибке задаёт текст сообщения, выводимый на экран при нарушении ограничений, заданных Условием на значение.

Тип элемента управления – свойство, которое задаётся на закладке Подстановка в окне конструктора таблиц. Это свойство определяет, будет ли отображаться поле в таблице и в какой форме – в виде поля или поля со списком.

Уникальный (первичный) ключ таблицы может быть простым или составным, включающим несколько полей.

Для определения ключа выделяются поля, составляющие ключ, и на панели инструментов нажимается кнопка ключевое поле или выполняется команда Правка / ключевое поле .


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16