Первые системы управления базами данных появились в середине шестидесятых годов XX века и поддерживали иерархическую модель данных в которой между записями существовали отношения предок/потомок. Спустя короткое время, были разработаны сетевые базы данных, в основу которых была заложена значительно более сложная сетевая модель. У каждой из этих моделей имелись свои достоинства и недостатки, которые сыграли ключевую роль в развитии реляционной модели.
В 1970 году статья научного сотрудника компании IBM доктора Е. Ф. Коддао реляционной модели данных произвела революцию в подходе к хранению и обработке информации. На основе этой модели в семидесятые годы были разработаны первые реляционные базы данных, а в настоящее время они рассматриваются как стандарт для современных коммерческих СУБД.
В реляционных базах данных вся информация сведена в таблицы, строки и столбцы которых называются записями и полями соответственно. Эти таблицы получили название реляций (Отношение — математический термин из теории множеств, которая легла в основу реляционной модели данных. В английском языке слову "отношение" соответствует слово relation, отсюда название "реляция"), поэтому модель стала называться реляционной. Записи в таблицах не повторяются. Их уникальность обеспечивается первичным ключом, содержащим набор полей, однозначно определяющих запись. Для быстрого поиска информации в базе данных создаются индексы по одному или нескольким полям таблицы. Значения индексов хранятся в упорядоченном виде и содержат ссылки на записи таблицы. Для автоматической поддержки целостности связанных данных, находящихся в разных таблицах, используются первичные и внешние ключи. Для выборки данных из нескольких связанных таблиц используются значения одного или нескольких совпадающих полей.
Еще десять лет назад работа с базами данных была уделом профессиональных программистов. Сами системы не были предназначены для простого пользователя. Основным потребителем таких систем был военно-промышленный комплекс. С появлением банков, акционерных обществ, частных компаний базы данных нашли более широкое применение. Люди понимают, что информация — это деньги. Ее потеря или несвоевременное получение могут дорого стоить. Именно этим можно объяснить столь бурный рост информационных технологий и стремительное развитие управления базами данных (СУБД).
История этого курса началась в 1995-м году, когда мной был подготовлен курс «Основы современных баз данных» для Центра Информационных Технологий (ЦИТ). Материалы этого курса были опубликованы в библиотеке CITForum.ru в 1996 г. и затем в течение ряда использовались мной для чтения лекций как в ЦИТ, так и на факультете ВМиК МГУ. Надеюсь, что они пригодились и многим другим читателям.
Однако со временем курс стал меняться. Если в середине 90-х гг. мне казались наиболее важными программистские аспекты организации СУБД, то потом постепенно на передний план стали выходить модельные и языковые аспекты баз данных. Материалы старого курса стали мне казаться несколько поверхностными и охватывающими слишком большое число тем. Захотелось большей строгости и большей глубины погружения в наиболее важные темы.
Кроме того, в конце 90-х гг. появилась технология объектно-реляционных баз данных, затверженная в стандарте SQL:1999. С появлением этого стандарта часть старого курса, посвященная SQL, совершено устарела. Я же все в большей степени начал склоняться к тому, что в стандарте SQL, по сути, определяется законченная модель данных, похожая на реляционную модель, но во многом от нее отличная.
Появление в 80-х годах персональных компьютеров (ПК) и локальных сетей ПК самым серьезным образом изменило организацию корпоративных вычислений. Однако и сегодня освоение сетевых вычислений в масштабе предприятия и Internet продолжает оставаться не простой задачей. В отличие от традиционной, хорошо управляемой и безопасной среды вычислений предприятия, построенной на базе универсальной вычислительной машины (мейнфрейм) с подсоединенными к ней терминалами, среда локальных сетей ПК плохо контролируется, плохо управляется и небезопасна. С другой стороны, расширенные средства сетевой организации делают возможным разделение бизнес-информации внутри групп индивидуальных пользователей и между ними, внутри и вне корпорации и облегчают организацию информационных процессов в масштабе предприятия. Чтобы ликвидировать брешь между отдельными локальными сетями ПК и традиционными средствами вычислений, а также для организации распределенных вычислений в масштабе предприятия появилась модель вычислений на базе рабочих групп.
Как правило, термины серверы рабочих групп и сетевые серверы используются взаимозаменяемо. Сервер рабочей группы может быть сервером, построенным на одном процессоре компании Intel, или суперсервером (с несколькими ЦП), подобным изделиям компаний Compaq, HP, IBM и DEC, работающим под управлением операционной системы Windows NT. Это может быть также UNIX-сервер начального уровня компаний Sun, HP, IBM и DEC.
В настоящее время, несмотря на повышение компьютеризации общества, в сфере образования до сих пор нет средств, позволяющих в достаточной мере автоматизировать процесс ведения документации и отчетности.
Одной из составных задач можно рассматривать проблему составления расписания учебного процесса, а так же оперативную корректировку расписания при возникновении необходимости в этом.
О своевременности и актуальности рассматриваемой проблемы говорит тот факт, что большую часть своего времени администраторы заведений и преподаватели тратят на оформление различной документации и отчетов. Огромное количество учебных заведений и отсутствие предложений в данной сфере гарантируют высокую потребность в данном продукте.
Базы данных (БД) составляют в настоящее время основу компьютерного обеспечения информационных процессов, входящих практически во все сферы человеческой деятельности.
Действительно, процессы обработки информации имеют общую природу и опираются на описание фрагментов реальности, выраженное в виде совокупности взаимосвязанных данных. Базы данных являются эффективным средством представления структур данных и манипулирования ими. Концепция баз данных предполагает использование интегрированных средств хранения информации, позволяющих обеспечить централизованное управление данными и обслуживание ими многих пользователей. При этом БД должна поддерживаться в среде ЭВМ единым программным обеспечением, называемым системой управления базами данных (СУБД). СУБД вместе с прикладными программами называют банком данных.
При выборе типа инсталляции Вашего сервера обычно руководствуются видом лицензии сервера, приобретенной Вашей организацией. От вида лицензии зависит и стоимость всего проекта, внедрения Domino в организации или ее филиалах.
Семейство серверов Domino R5 представляет собой программную серверную платформу, предоставляющую широчайший спектр функций передачи сообщений, мощную архитектуру Web-приложений для разработки деловых приложений, легко масштабируемых, надежных, которые удовлетворят даже самых крупных корпоративных заказчиков. Благодаря единой архитектуре, серверы Domino позволяют заказчикам воспользоваться гибкостью подхода “начать с малого и быстро расширяться”.
К психическим процессам относятся: память, внимание, мышление и др.
Память — это процесс запоминания, сохранения и последующего воспроизведения индивидуумом информации, непосредственно связанной с безопасностью, особенно оперативного характера. Запоминание тесно связано с забыванием. Установлено, что за первые 9 часов информация уменьшается от 100 до 35%. Следовательно, для восполнения утраченной информации необходимо проводить обучение, инструктажи.
Внимание — это направленность сознания на определенные объекты, имеющие для личности устойчивую или ситуативную значимость. Это также сосредоточение сознания, предполагающее повышенный уровень сенсорной, умственной или двигательной активности.
Для привлечения внимания к опасностям используются различные средства: звуковые (сирена, гудок, зуммер и пр.), зрительные (транспаранты, табло, лампочки сигнализации) и др.
Восприятие или перцепция — это полисенсорное отражение в сознании человека предметов или явлений при их непосредственном воздействии на органы чувств. Персептивные образы имеют в основном полисенсорный характер, так как используется информация от нескольких видов анализаторов (зрительного, слухового, тактильного и др.).
Графические редакторы делятся на два главных типа - растровые (битмэ-повые, иногда говорят - битовые, пиксельные) и векторные. Первые предназначены в основном для обработки сканированных изображений и цифровых фотографий, вторые - для рисования.
В последние годы программы обоих типов двинулись навстречу друг другу. В составе растровых редакторов появились инструменты для работы с векторной графикой, а в составе векторных - инструменты для работы с фотоизображениями. Когда-нибудь все это соединится в каком-нибудь могучем универсальном графическом редакторе, одинаково хорошо работающем с обоими способами представления графической информации. А может, еще и с 3D-графикой, и программами создания анимации.
Впрочем, до этого пока далеко. Так что приходится для обработки фотографий использовать одну программу, а для рисования другую (или другие!). (Впрочем, если у вас есть графический планшет, можете рисовать и в Фото-шопе.)
Система шифрования паролей является достаточно консервативным элементом СУБД, ибо ее малейшее изменение влияет на возможность/невозможность подключения клиентов к базе данных. Таким образом, частое изменение этой подсистемы СУБД нежелательно. Видимо, этот фактор сказался на том, что подсистема шифрования паролей была неизменной много лет, по моим оценкам - около 15. Изменение системы шифрования повлекло бы за собой ряд сообщений ORA-xxxxx, сообщающих об ошибках в системе шифрования и в технической документации были бы упомянуты причины и способы их решения. Судя по отсутствию этих проблем в технической документации и Интернет, можно сделать вывод, что в СУБД Oracle подсистема шифрования паролей была неизменной достаточно длительное время, где-то последние 15 лет.
Работа с числами и текстом – это хорошо. Но, согласитесь, без графики, без картинок – как-то сухо на экране. Графику мы будем проходить в три приема – в три главы. Каждая глава научит нас каким-то конкретным вещам. В этой главе мы научимся рисовать простые фигуры. В Глава 12. мы улучшим рисование и научимся работать с фотографиями. В Глава 17. мы научимся рисовать сложные фигуры и делать фигурные окна.
Подобно тому как любой телефон в телефонной сети имеет свой уникальный номер, любой компьютер, подключенный к Интернету, тоже имеет свой уникальный номер, который называется IP-адресом. IP-адрес состоит из четырех чисел, разделенных точками (это, конечно, только для облегчения человеческого восприятия — на самом деле это всего лишь 32-битная последовательность), например: 195.34.32.11. Кстати, это реальный IP-адрес DNS-сервера московского Интернет-провайдера “МТУ-Информ”). По IP-адресу в Интернете можно найти любой компьютер.
Если ваш компьютер подключен к Интернету на постоянной основе, то, скорее всего, у него уже есть и собственный IP-адрес. Тогда, чтобы позволить всем созерцать свою страничку, остается только установить специальную программу, называемую веб-сервером, и разместить саму страничку в папке, доступной для чтения по сети. Впрочем, это уже отдельная тема, и интересующихся установкой и настройкой веб-сервера мы отсылаем к специальной литературе.
Специалисты, которые посвятили себя издательскому делу, могут совершенно по-разному подходить к организации работы. К счастью, QuarkXPress предоставляет целый ряд параметров, с помощью которых вы сможете настроить программу именно так, как вам необходимо.
В настоящей главе речь пойдет о задании стандартных значений параметров на уровне приложения, а также на уровне печатных и Web-макетов с помощью диалогового окна Preferences (Установки).
Рассмотрим основные возможности, которые предоставляют протоколы высокого уровня:
система назначения идентификатора для сообщения
метод обмена данных процесса
прямая(peer-to-peer) связь
метод установления связей для обмена данных процесса
сетевое управление
Модели и профайлы устройств
Си - универсальный язык программирования. Он тесно связан с системой UNIX, так как был разработан в этой системе, которая как и большинство программ, работающих в ней, написаны на Си. Однако язык не привязан жестко к какой-то одной операционной системе или машине. Хотя он и назван "языком системного программирования", поскольку удобен для написания компиляторов и операционных систем, оказалось, что на нем столь же хорошо писать большие программы другого профиля.
Многие важные идеи Си взяты из языка BCPL, автором которого является Мартин Ричардс. Влияние BCPL на Си было косвенным - через язык B, разработанный Кеном Томпсоном в 1970 г. для первой системы UNIX, реализованной на PDP-7.
BCPL и B - "бестиповые" языки. В отличие от них Си обеспечивает разнообразие типов данных. Базовыми типами являются символы, а также целые и числа с плавающей точкой различных размеров. Кроме того, имеется возможность получать целую иерархию производных типов данных из указателей, массивов, структур и объединений. Выражения формируются из операторов и операндов. Любое выражение, включая присваивание и вызов функции, может быть инструкцией. Указатели обеспечивают машинно-независимую адресную арифметику.
Adobe Photoshop 7 просто обречен на то, чтобы стать суперхитом сезона среди программных продуктов. Тем более, что он, как и все версии этого пакета с нечетными порядковыми номерами, содержит заметные новшества. Например, в Photoshop 3 появилась поддержка слоев, в пятой версии - многоуровневая отмена неудачных действий и очень полезный инструмент Magnetic Lasso, в базовую поставку Photoshop 5.5 была включена программа ImageReady для работы с Web-графикой. Параллельно шло обновление и других продуктов Adobe, предназначенных для полиграфии и дизайна: векторного редактора Illustrator, программы верстки InDesign, визуального HTML-редактор GoLive, векторно-анимационного пакета LiveMotion, средства для создания мультимедийных презентаций AfterEffects.
Не стала исключением и седьмая версия Photoshop. Разработчики устранили целый ряд недостатков этой программы, которые существенно осложняли жизнь пользователям Windows и Mac OS X. В частности, Photoshop 7 наконец «научился» использовать системную виртуальную память, в результате чего «аппетиты» в расходе системных ресурсов, прежде всего, физического ОЗУ, намного уменьшились по сравнению с предыдущей версией. Особенно это заметно при обработке больших изображений высокого разрешения. Также существенно снижен риск «зависания» системы, вызванного разрастанием собственного файла подкачки Photoshop до неконтролируемых объемов. Теперь Photoshop намного лучше работает при запуске одновременно с ним других приложений, в том числе и при использовании настроек по умолчанию (раньше на экспериментальный подбор нужных параметров уходило немало времени).
Итак, вы принадлежите к числу относительно неопытных пользователей Linux. Вы установили Linux, вам удалось войти в систему, пошарить в Интернете, отправить и получить электронную почту... а дальше что? Несмотря на успешное выполнение некоторых простейших задач, вы чувствуете себя словно пилот самолета, летящего на автопилоте. В вашем распоряжении масса замечательных возможностей (во всяком случае, так вам сказал ваш знакомый, большой знаток в области Linux), но как за них взяться? Что где находится и как работает? Что это за штуковина под названием grep, о которой так часто говорят? И как наладить работу Samba? И где находится эта документация?
Мир Linux/Unix отлично документирован. Нет, я серьезно! Вы сможете найти ответ на любой вопрос; нужно только знать, где искать. Man-страницы, info-страницы, файлы README, документация в формате HTML, сами программы... Не нужно быть великим программистом, чтобы отыскать полезную информацию в исходных текстах, потому что все необходимые сведения часто содержатся в комментариях.
Среди тысяч виртуальных сообществ Интернета всегда найдется одно (или несколько) для конкретной программы из Вселенной Linux. Почти у каждой программы, какой бы малой она ни была, существует собственный список рассылки. У каждого дистрибутива Linux имеются свои списки рассылки и форумы пользователей. Я уже не говорю о многочисленных книгах и журналах. Получается, что настоящая проблема с документацией Linux — не ее нехватка, а получение нужной информации без долгих и самоотверженных поисков.
Предполагается, что читатель является администратором отдельного компьютера или локальной сети и может получить привилегии root в случае необходимости. Может быть, вы стремитесь в полной мере управлять работой своего Linux-компьютера, или создать свой собственный почтовый или веб-сервер, или создать небольшую сеть. А может, вы — системный администратор Windows, которому неожиданно потребовалось подключить Windows-клиентов к серверам Linux... или включить серверы Linux в существующую сеть... или интегрировать компьютеры с Linux и Windows в одной смешанной сети.
А может, вам вообще нет дела до Windows, и вы просто хотите освоить системное администрирование Linux.
Для Linux существуют тысячи программных пакетов. Почти все они делают чтото полезное, поэтому заранее понятно, что рассмотреть все темы (или хотя бы их большинство) попросту невозможно. Решения о том, какой материал включить в книгу, а какой оставить за пределами рассмотрения, принимались в соответствии с моими представлениями о базовых навыках администрирования Linux (возможно, у вас эти представления будут другими).
В мире существуют тысячи дистрибутивов Linux. Свои дистрибутивы создают отдельные компании, кампусы и даже просто группы единомышленников. Тем не менее дистрибутивы делятся (пусть и не очень четко) на две большие категории: системы на базе RPM, представленные в книге Red Hat и Fedora, и системы на базе apt, представленные Debian. Семейство Debian бурно развивается и пополняется такими представителями, как Knoppix, Xandros, Libranet, Unbuntu и Linspire.
Говорят, что программы на ассемблере трудно отлаживать. Программы на ассемблере легко отлаживать — опять же при условии, что вы знаете язык. Более того, знание ассемблера часто помогает отлаживать программы на других языках, потому что оно дает представление о том, как на самом деле функционирует компьютер и что происходит при выполнении команд языка высокого уровня.
Говорят, что современные компьютеры такие быстрые, что ассемблер больше не нужен. Каким бы быстрым ни был компьютер, пользователю всегда хочется большей скорости, иначе не наблюдалось бы постоянного спроса на еще более быстрые компьютеры. И самой быстрой программой на данном оборудовании всегда будет программа, написанная на ассемблере.
Минута соединения вашего компьютера с Internet - это минута, когда безопасность ваших данных подвергается риску. Даже наиболее безопасные системы, которые находятся под контролем наиболее образованных и способных, с большим опытом, системных администраторов, с использованием самого современного и проверенного програмного обеспечения, постоянно находятся в опасности, каждый день. Как было доказано Кевином Митником (Kevin Mitnick) при взломе San Diego Supercomputer Center в 1994 году, даже самые "закаленные" защиты, написанные ветеранами подобно Tsutomu Shimamura можно, обойти.
Весьма печальным фактом является то, что хакеры зачастую обладают некоторыми преимуществами. Время, постоянство, творческий потенциал, сложность программного обеспечения, окружение сервера и невежество рядового пользователя - их оружие. Администратор системы должен манипулировать множеством, постоянно изменяющихся, комплексно связанных аспектов безопасности в целом, в то время как хакерам требуется только терпеливо ждать, когда администратор ошибется.