Модернизация базы данных об анализах на ДНК микрочипах
Способы хранения и обработки информации, полученной с помощью ДНК-анализов. Построение модуля контроля и доступа к базе данных микрочипов. Модернизация программного комплекса хранения информации с результатами экспериментов по анализу экспрессии генов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.12.2012 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru/
Московский государственный университет им. М.В. Ломоносова
Филиал МГУ в г.Севастополе
Факультет ВМиК
Курсовая работа
МОДЕРНИЗАЦИЯ БАЗЫ ДАННЫХ ОБ АНАЛИЗАХ НА ДНК МИКРОЧИПАХ
Выполнил: Терзи Иван,
Научный руководитель: Сальников А.Н., к.ф.-м.н.
г. Москва 2012 год.
Содержание
ВВЕДЕНИЕ
1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1. ДНК-микрочипы. Экспрессия гена. Способы хранения и обработки информации, полученной с помощью ДНК-анализов
2. СMSDrupal: архитектура и особенности
3. Сравнение Drupal с другими CMS
2. ПОСТРОЕНИЕ МОДУЛЯ КОНТРОЛЯ И ДОСТУПА К БД ДНК-МИКРОЧИПОВ
1. Описание инструментов и средств разработки
2. Структура БД DNA Microarrays Access Control Interface
3. Структура модуля DNA Microarrays Access Control Interface
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Появление во 2-й половине 90-х годов ДНК-чипов стало новой биотехнологической революцией, стоящей по значимости в одном ряду с расшифровкой структуры ДНК в 50-х, исследованием фундаментальных закономерностей молекулярной генетики. Учитывая огромную значимость этого новейшего направления для развития современной фундаментальной и прикладной медико-биологической науки представляется актуальным разработка программного обеспечения для обработки больших массивов информационных данных. В текущий момент большую популярность приобретает метод диагностики заболеваний на основе изучения процесса экспрессии генов. На сегодняшний день в мире существует несколько публично доступных баз данных значений экспрессии генов, которые хранятся как файлы изображений полученных с соответствующих приборов. К таким базам можно отнести ArrayExpress, ExpressDB, GEO, SMD, LAD,GENEVESTIGATOR, ArrayTrack, CIBEX.
Институт эпидемиологии и микробиологии имени Н.Ф. Гамалеи, выбранный автором курсовой работы для сотрудничества, занимается исследованиями в области раковых заболеваний с использованием анализов экспрессии генов ДНК-микрочипов. На нынешний момент институт обладает примерно 10 000 проб с некоторыми данными об этих пробах. Это обуславливает актуальность и необходимость разработки удобного программного обеспечения, интерфейса администрирования и доступа к базам данных ДНК-микрочипов пользователями интернет-ресурсов и сотрудниками института.
Для решения этой задачи оптимальным на взгляд автора курсовой работы является средство для разработки веб-интерфейсов, система управления (CMS) Drupal. Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира, а так же является одним из наиболее популярных программных продуктов. Архитектура Drupal позволяет применять его для построения различных типов сайтов -- от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющийся по умолчанию функциональность можно увеличивать подключением дополнительных расширений -- «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal:
· единая категоризация всех видов содержимого (таксономия) -- от форумных сообщений до блогов и новостных статей
· широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
· вложенность категорий любой глубины
· поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
· разграничение доступа пользователей к материалам (ролевая модель)
· динамическое построение меню
· поддержка XML-форматов:
· вывод документов в RDF/RSS
· агрегация материалов с других сайтов
· BlogAPI для публикации материалов с помощью внешних приложений
· авторизация через OpenID
· символьные осмысленные URL (иначе «человеко-понятные» -- ЧПУ)
· переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
· возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
· раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта.
· уведомления о выходящих обновлениях модулей
На данный момент существует более 15 000опубликованных модулей, написанных на Drupal. Модуль, разрабатываемый автором данной работы,позволит обычным пользователям создавать, удалять, редактировать наборы ДНК-проб, проверять соответствие набора проб чипу, удобно управлять метаданными пациента, а так же выбирать пациентов по списку имеющихся проб.
Цель работы - Создание модуля Drupal для хранения информации с результатами экспериментов по анализу экспрессии генов и её администрирования (в рамках задачи разработки ПОдля БД анализов ДНК-микрочипов, предложенной институтом эпидемиологии и микробиологии имени Н.Ф. Гамалеи).
Задачи работы:
1. Ознакомиться с теоретическими и эмпирическим аспектами, а так же историей создания ДНК-микрочипов;
2. Изучить структуры баз данных по пробам ДНК микрочипов (GEO, Array Express а так же БД института Гамалеи Microarrays(cluster.gamaleya.org));
3. Изучитьуже существующее программное обеспечение для работы с данными полученными из ДНК микрочипов;
4. Изучить язык PHP;
5. Изучить синтаксис MySQL запросов;
6. Изучить строение и структуру написания модуля на Drupal (Изучить систему управления сайтом Drupal; Охарактеризовать её основные возможности; Изучить методы разработки модулей на Drupal; Сравнить Drupalс другими CMS);
7. Написать модуль для управления наборами пациентов и проб с помощью Drupal-6, с помощью которого можно:а)создавать, удалять, редактировать наборы проб, б)удобно управлять метаданными пациента, в)выбирать пациентов по списку имеющихся проб.
1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1. ДНК-микрочипы. Экспрессия гена. Способы хранения и обработки информации, полученной с помощью ДНК-анализов
В текущий момент большую популярность приобретает метод диагностики заболеваний на основе изучения процесса экспрессии генов [2]. Массовая диагностика на основе экспрессии генов в медицинских лабораториях становится возможной благодаря появлению технологии создания так называемых ДНК-микрочипов.
ДНК-микрочипы -- технология, когда на подложку, из стекла или кремния в определённые заранее позиции подложки наносится слой коротких от (20 до 60 нуклеотидов) одноцепочечных молекул ДНК. Последовательность нуклеотидов каждой из молекул известна заранее. Эта последовательность чаще всего соответствует одному из фрагментов исследуемого гена или одному из фрагментов известного геномного повтора. Все подложки помещаются в специальный раствор, в котором содержатся исследуемые окрашенные фрагменты молекул ДНК, которые связываются с фрагментами на подложке по принципу комплиментарности.
В целом технология получения сведений с ДНК-микрочипа выглядит следующим образом:
1. Выделяются или выращиваются биологические образцы, которые необходимо сравнить. Они могут соответствовать одним и тем же индивидуумам до и после какого-либо лечения (случай парных сравнений), либо различным группам индивидуумов, например, больным и здоровым, и т. д.
2. Из образца выделяется очищенная нуклеиновая кислота, являющаяся объектом исследования: это может быть РНК в исследовании профиля экспрессии генов, ДНК при изучении сравнительной геномной гибридизации и т.д.
3. Проверяется качество и количество полученной нуклеиновой кислоты. Если требования соблюдены, эксперимент может быть продолжен.
4. На основе имеющихся образцов РНК в процессе обратной транскрипции синтезируются последовательности комплементарных ДНК (кДНК, англ. CDNA).
5. В процессе амплификации при помощи Полимеразной Цепной Реакции (синтеза дополнительных копий ДНК) количество последовательностей кДНК в образцах многократно увеличивается.
6. К концам последовательностей кДНК присоединяются флуоресцентные или радиоактивные метки.
7. Полученные образцы в смеси с необходимыми химическими веществами через микроскопическое отверстие наносятся на ДНК-микрочипы и начинается процесс гибридизации, в ходе которого одна из цепей к ДНК присоединяется к комплементарной ей цепи, имеющейся на микрочипе.
8. Полученные микрочипы сканируются при помощи лазера. На выходе получается одноцветные или двухцветные изображения (в зависимости от количества использованных красителей).
9. На каждое изображение накладывается сетка, так, что каждой её ячейке соответствует участок чипа с пробами одного типа. Интенсивности свечения проб в ячейке сетки ставится в соответствие некоторое число, которое, в самом первом приближении, может служить мерой количества присутствовавших последовательностей РНК в соответствующем образце.
Таким образом, анализа степени экспрессии гена организмом сводится к задаче обработки изображений. В текущий момент один микрочип у фирмы Affymetrix содержит до 250000x100 фрагментов. На рисунке 1 приведён пример изображения полученного с ДНК-микрочипа, пиксели изображения собраны в группы и соответствуют различным генам.
Рисунок 1: Пример изображения с ДНК-микрочипа
В текущий момент в мире существует несколько публично доступных баз данных значений экспрессии генов, которые хранятся как файлы изображений полученных с соответствующих приборов. К таким базам можно отнести:
1. ArrayExpress -- база данных европейского биоинформатического института. В этой базе хранятся данные об экспериментах с функциональной частью генома. В частности об экспериментах с экспрессией генов. Данные в базе данных хранятся в форматах MIAME и MINSEQE. Данные о экспрессии генов собраны в отдельную подбазу Atlas [4], которая дополнительно курируется экспертами.
2. ExpressDB -- база данных экспрессии генов бактерии кишечная палочка (E.Coli). В этой базе данные заняться в собственном формате похожем на формат MIAME. Используются ДНК-микрочипы компании Affymetrix первого поколения [5].
3. GEO (GeneExpressionOmnibus) - база данных является публичным репозиторием для хранения данных полученных с микрочипов. Здесь хранятся как данные о экспрессии генов, так и данные полученные с помощью современных технологий секвенирования генома, которые основаны на технологии микрочипов. Научному сообществу предоставляется возможность добавлять свои данные об экспериментах, однако процесс добавления записей строго формализован и тщательно курируется экспертами (подобно базе Atlas). Данные хранятся в MIAME формате. База данных поддерживается Национальным Центром Информации о Биотехнологии (NCBI) США. Информацию о базе данных GEO можно найти в статьях [6], [7]. На момент 22 июля 2010 года в базе данных содержится 457879 записей. В текущий момент это крупнейшая база данных результатов экспериментов с ДНК-микрочипами и РНК_микрочипами.
4. SMD -- Стенфордская база данных [8]. В отличии от описанных выше баз данных содержит дополнительно закрытые данные коммерческих компаний. Предоставляет набор программных средств для анализа и поиска информации в микрочипах.
5. LAD (LonghornArrayDatabase) -- клон Стенфордской базы данных, но без данных коммерческих компаний. Эта база данных поддерживает формат записей MIAME, построена на открытых технологиях (используется Linux и PostgreSQL ). Информация о данной базе была опубликована в статье [9].
6. GENEVESTIGATOR -- коммерческая база данных по экспрессии генов. Обладает большим объёмом данных, однако за доступ к базе данных необходимо платить деньги. Поддерживается двумя лабораториями в Швейцарии [10].
7. ArrayTrack -- специализированная база данных содержит данные о экспрессии генов для задач фармакологии и для анализа токсичности тех или иных продуктов питания или других живых объектов. Данная база данных поддерживает MIAME формат. Для того, чтобы ей воспользоваться необходимо устанавливать дополнительное программное обеспечение. [11] Данная база поддерживается (Национальным центром токсикологических исследований) министерством питания и здравоохранения США.
8. CIBEX - база данных ДНК-микрочипов. Находится на территории Японии строго поддерживает MIAME формат.
Очевидно, что на текущий момент наиболее популярным способом хранения данных ДНК_микрочипов является способ хранения в формате MIAME. Спецификация формата носит название MAGE-ТAB и была опубликована в журнале BMC Bioinformatics в 2006 году [12]. Формат позволяет описывать эксперимент как ориентированный ациклический граф, где вершина - одно действие эксперимента, действие может быть выраженно как матрица с данными, а может соответствовать пустому множеству сохранённых данных, а ребро - способ получения очередной матрицы с данными. Пример такой концепции отображён на рисунке 2.
Рисунок 2. Шаги эксперимента (рисунок взят из статьи
На рисунке 2 в качестве источника выступают материалы взятые из разных тканей человека, затем с ними производилась процедура гибридизации, то есть образования химической связи между комплиментарными нуклеотидами, которые «пришиты» к микрочипу, после чего мы видим файлы с результатами, которые будут выражены матрицами значений, и затем среди этих файлов производится нормализация, в результате чего получается конечный файл, который называется «FGDM.txt». Весь процесс описывается в виде MAGE-TAB спецификации и состоит из нескольких файлов.
Формат специфицирует несколько типов файлов:
• IDF -- файл, описывающий само исследование проводимое экспериментатором. Содержит информацию в виде текстовых описаний в достаточно вольной форме.
• SDRF -- файл, который задаёт привязку матриц, получающихся в ходе эксперимента к их описанию. То есть по сути это описание шагов приводящегося эксперимента.
• ADF -- файл, с описаниями конкретных позиций микрочипа. Например, какая в определённой позиции подложки «пришита» последовательность ДНК и что она означает. В целом этот тип файлов обычно предоставляется производителями ДНК_микрочипов.
• Raw - файл с данными. Это может быть текстовый или бинарный файл. Файл может быть в формате предоставляемом производителем микрочипа. Однако представлен также текстовый формат со значениями разделёнными символами табуляции.
В файлах IDF, SDRF, ADF -- значения разделяются символами табуляции, текстовые поля должны быть заключены в двойные кавычки. В этих файлах допустимы комментарии в виде строк начинающихся с символа '#'.
В IDF -- файле должно присутствовать большое число полей. Опишем некоторые из них:
• InvestigationTitle - название исследования.
• ExperimentalDesign -- тип эксперимента по классификации MGED
• Experimental Design Term Accession Number - идентификатортипаэксперимента
• ExperimentalFactorName - описание фактора который исследуется в данном эксперименте. Используется в дальнейшем как идентификатор в SDRF файле.
• ExperimentalFactorType - тип исследуемого фактора по классификации MGED
• Experimental Factor Type Accession Number -- идентификатортипаисследуемогофактора.
• PersonLastName, PersonFirstName, PersonMidInitials -- поля описывающие имя человека имеющего отношение к представленным данным о проводимом эксперименте.
• PersonEmail, PersonPhone, PersonFax, PersonAddress, PersonAffiliation - адрес электронной почты для связи, телефон для связи, факс, почтовый адрес, место работы соответственно.
• PersonRoles - описание роли человека в подготовке описываемых форматом данных.
• QualityControlType -- тип контроля за качеством получаемых в эксперименте данных (по классификации MGED)
• ReplicateType - тип используемой репликации молекул по классификации MGED. Обычно одна из разновидностей Полимеразной Цепной Реакции (ПЦР).
• NormalizationType -- тип нормализации результатов эксперимента по классификации MGED.
• DateofExperiment - дата проведения эксперимента.
• PublicReleaseDate - это поле заполняется обычно администраторами баз данных. Здесь указывается дата опубликования описываемых форматом данных.
• PubMed ID, Publication DOI - идентификаторы статьи об эксперименте в базах данных публикаций.
• Publication Author List, Publication Title, Publication Status -- информацияопубликации.
• ExperimentDescription -- развёрнутое описание исследования которое проводится в данном эксперименте.
• ProtocolName -- название правила, по которому одни данные будут преобразованы в другие. Это поле задаёт ребро в ациклическом графе описывающем эксперимент. В дальнейшем значение будет использовано как идентификатор в других типах файлов описываемых форматом.
• ProtocolType - тип правила преобразования данных (по классификации MGED).
• ProtocolDescription -- описание правила в свободной форме.
• ProtocolParameters - список параметров которые используются правилом для выполнения действия. Параметры перечисляются через точку с запятой. В дальнейшем каждый параметр будет использован как идентификатор.
• ProtocolHardware - описание оборудования, которое используется для выполнения шага эксперимента при обработке данных с помощью правила преобразования данных.
• ProtocolSoftware - описание программного обеспечения, которое необходимо применить для выполнения шага эксперимента (например для нормализации данных).
• SDRF File - список SDRF файлов связанных с данным IDF файлом.
• TermSourceName - список имён входных данных в дальнейшем используются как идентификаторы.
• TermSourceFile - файл, где исходные данные записаны или это может быть интернет ссылка (URL) на данные.
• Comment[<имя определяемое экспериментатором>] - это поле используется вбазами данных для отображения прочей информации задаваемой экспериментатором.
В IDF файле каждое поле пишется с новой строки. Сперва идёт имя поля, затем табуляция и значение поля. В случае, если поле имеет несколько значений, то значения должны быть разделены символом табуляции. ПоляInvestigation Title, Date of Experiment, Public Release Date, Experiment Description должныиметьтолькооднозначение.
SDRF файл устроен как таблица значений: строка в таблице это последовательность шагов эксперимента над одним источником данных. Столбцы в таблице -- действия, которые производятся над данными.. Причём считается, что строки упорядочены по времени. То есть если источники данных обрабатываются в определённом порядке, то строки в файле должны быть расположены именно в этом порядке. Первая строка в файле -- строка заголовок, остальные -- строки значения. Значения в столбце должны соответствовать заголовку. В заголовке поля группируются в секции. Секция состоит из главного поля секции, после чего идёт несколько подчинённых полей. Некоторые поля могут соответствовать параметрам, которые были определены в IDF файле. В этом случае пишется имя поля с параметром и имя параметра в квадратных скобках, например так: «Characteristics [occupancy]» Приведём далее описание некоторых секций.
• SampleName - идентификатор материала с которым ведётся эксперимент. Например «пробирка номер 234»
? Characteristics [<название характеристики>] - поле с аргументом. Какая-то характеристика материала, характеристик может быть много или они могут отсутствовать вовсе.
? Materialtype - указание типа материала с которым ведётся эксперимент. Если это было РНК выделенное из всех клеток какого-либо организма, то в значение нужно написать «whole_organism». В целом это поле должно быть заполнено по классификации MGED.
? Description - вольное описание материала.
? Comment [<имя комментария>] - комментарий к материалу, с дополнительным указанием имени комментария.
• HybridizationName - название способа, которым производится присоединение фрагментов молекул ДНК или РНК к молекулам пришитым на подложку микрочипа. В целом это поле может быть например именем технологии, например «Affymetrix» или «Illumina».
? ArrayDesign REF - внешнее имя микрочипа, который применялся.
? Comment [<имя комментария>] - комментарий к микрочипу и химическому процессу.
• Protocol REF - ссылка на описание протокола в IDF файле.
? ParameterValue[<имя параметра>] - список параметров был указан в IDF файле. В SDRF файле хранятся значения.
? Performer - имя человека, который производил действие определяемое протоколом.
? Date - дата проведения шага эксперимента.
? TermSource REF - ссылка на внешнее описание протокола.
? Comment [<имя комментария>] - типизированный комментарий.
• ArrayDataFile, DerivedArrayDataFile, ImageFile - в значениях этих полей должны быть написаны имена файлов. Файлы соответственно указанному порядку это: необработанные данные с микрочипа, обработанные данные с микрочипа, само изображение, которое было получено при фотографировании микрочипа. Одной строчке в SDRF файле соответствует один файл.
? Comment [<имя комментария>] - типизированный комментарий.
• ArrayDataMatrixFile, DerivedArrayDataMatrixFile - имя файла, где могут храниться данные с более чем одного микрочипа. Также как и в предыдущем случае один файл на одну строчку SDRF файла.
? Comment [<имя комментария>] - типизированный комментарий.
Обратимся теперь к той части формата, которая описывает данные самих микрочипов. Форматов хранения данных микрочипов существует достаточно много: Generic, Affymetrix, GenePix, Agilent, ScanAlyze, ScanArray, QuantArray, Arrayvision, Spotfinder, BlueFuse, UCSF Spot, NimbleScan, AppliedBiosystems, CodeLink, Illumina, Imagene, CSIRO Spot. Рассмотрим только некоторые из них:
• Generic -- это текстовый файл, где поля разделены символами табуляции. В файле присутствуют поля MetaColumn, MetaRow, Column, Row -- эти поля задают координаты в получающемся после фотографирования подложки изображении. Одинаковые значения полей MetaColumn и MetaRow чаще всего соответствуют одному гену. Столбцы с координатами идут в начале, далее идут столбцы со значениями уровня светимости микрочипа и другими характеристиками.
• GenePix -- это формат схожий с Generic форматом, но здесь присутствует добавочное поле Block. Блок содержит фрагменты подложки принадлежащие одному гену.
• ImaGene - формат схожий с Generic, но в строке явно присутствует GeneID.
Существуют программы, которые облегчают импорт MAME файлов в базы данных. Например tab2mage (http://tab2mage.sf.net) предназначен для организации импорта в базу данных ArrayExpress.
Очевидно, что имеется множество баз данных с огромными массивами информации об экспрессиях генов ДНК-микрочипов, однако их структуризация не типизирована. Таким образом, в разрезе исследований Института Гамалеи возникает необходимость создания обновлённой, особой базы данных для больных раковыми заболеваниями со структурой единых характеристик.
микрочип программный модернизация ген
2. СMSDrupal: архитектура и особенности
Drupal (друпал) -- система управления содержимым (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие[3]). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.
Архитектура Drupal позволяет применять его для построения различных типов сайтов -- от блогов и новостных сайтов до информационных архивов или социальных сетей. Имеющийся по умолчанию функциональность можно увеличивать подключением дополнительных расширений -- «модулей» в терминологии Drupal. Наиболее важные функции, предоставляемые Drupal «из коробки»:
· единая категоризация всех видов содержимого (таксономия) -- от форумных сообщений до блогов и новостных статей
· широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории
· вложенность категорий любой глубины
· поиск по содержимому сайта, в том числе поиск по таксономии и пользователям
· разграничение доступа пользователей к материалам (ролевая модель)
· динамическое построение меню
· поддержка XML-форматов:
· вывод документов в RDF/RSS
· агрегация материалов с других сайтов
· BlogAPI для публикации материалов с помощью внешних приложений
· авторизация через OpenID
· символьные осмысленные URL (иначе «человеко-понятные» -- ЧПУ)
· переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента
· возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками)
· раздельные конфигурации сайта для различных виртуальных хостов (мультисайтинг), в том числе собственные наборы модулей и тем оформления для каждого подсайта. Это предоставляет возможность на одной установке системы (на одном аккаунте хостинга, на одной базе данных) получить несколько сайтов, причем у разных сайтов может быть как общий, так и независимый набор таблиц, благодаря чему можно, например, создать несколько сайтов с единой базой пользователей, но независимыми базами контента.
· уведомления о выходящих обновлениях модулей
· интеграция с движками шаблонов (templateengines), позволяющими отделить логику приложения от данных и их представления.
Система поддерживает локализацию интерфейса на более чем 100 языках (однако не все переводы являются полными). Имеется поддержка русского языка. В Drupal используется собственный механизм для локализации с хранением переводов в базе данных, наравне с остальным содержимым сайта. Импорт и экспорт переводов сайта осуществляется в виде po-файлов (формат используемый библиотекой gettext).
Drupal построен по модульному принципу: компактный набор служебных функций (ядро), отвечающих за работу с СУБД, авторизацию, кэширование и пр. дополняется модулями, реализующими основную функциональность. Они обеспечивают обработку системных событий (авторизация пользователя, запись данных в БД, просмотр документа, поиск и т. д.), взаимодействие между модулями выполняется при помощи хуков (hooks) -- определенным образом именованных функций. Описав хук в модуле, можно перехватить любое событие (например, сохранение записи) и запрограммировать свою логику его обработки. Благодаря такой системе программист может расширить возможности любого существующего модуля, не вмешиваясь в его исходный текст, а также создать свои собственные типы событий.
В ядре Drupal реализован набор функций (API) для работы со всеми необходимыми компонентами: СУБД, формами, кэшем, пользователями и их правами. Для взаимодействия с СУБД используется абстрактный интерфейс DB API, ядро Drupal оперирует ANSI-совместимым SQL для работы с БД, а структуры (таблицы) для БД определяются программистом в массивах специального вида. При этом преобразование определений таблиц и запросов под особенности конкретной СУБД (официально система Drupal совместима с MySQL и PostgreSQL) выполняется специальной библиотекой, и разработчику не приходится заботиться об особенностях работы СУБД. Определив собственную библиотеку функций, можно подключить другие СУБД, -- например, существуют библиотеки для IBM DB2, Oracle и MSSQL.
Не менее важная часть Drupal -- интерфейс обработки экранных форм (Forms API). С точки зрения разработчика, форма Drupal -- это определенным образом подготовленный массив данных, содержащий информацию об элементах формы и их параметрах. На основе этого массива системные функции генерируют HTML-код. Такой подход позволяет модулям модифицировать одну и ту же форму, а также с помощью функций темизации менять оформление отдельных элементов. Разработчики модулей могут добавлять дополнительные поля (например, защиту от автоматических публикаций -- CAPTCHA) или заменять существующие (заменить текстовое поле WYSIWYG-редактором).
По умолчанию Drupal предоставляет пользователю базовый тип материала с минимумом стандартных полей и атрибутов: заголовок, текст, автор и ряд служебных полей. Программный интерфейс Node API позволяет дополнять базовый тип новыми полями: ссылками, картинками, файлами, списками и др.
Для управления правами доступа к материалам и службам сайта в Drupal реализованы два механизма. Первый обеспечивает проверку доступа к отдельным сервисам сайта -- каждый модуль через специальный хук объявляет свои разрешения на использование тех или иных своих функций, затем администратор сайта может разрешить или запретить различным группам пользователей доступ к тому или иному функционалу. Второй механизм -- права доступа к отдельным документам на создание, просмотр, изменение и удаление. Модули реализуют собственные интерфейсы проверки прав, основываясь на данном механизме. Например, есть модули, разграничивающие доступ пользовательских ролей к отдельным рубрикам сайта либо задающие права доступа непосредственно для отдельных пользователей, отдельных документов и даже отдельных полей документа.
Еще один важный элемент архитектуры Drupal -- система темизации, позволяющая, во-первых, отделить логику работы программных модулей от представления данных; во-вторых, гибко настроить внешний вид каждого выводимого на экран элемента. Чтобы изменить внешний вид сайта, необходимо или скачать готовую, или разработать собственную тему оформления -- набор особым образом сформированных HTML-шаблонов, в которые интегрированы PHP-переменные с данными.
Важно отметить, что подсистема темизации Drupal не принуждает разработчика применять один тип шаблонов. Drupal позволяет задействовать различные «движки» шаблонов, на базе которых строятся темы оформления. Стандартом де-факто для тем оформления в Drupal стал механизм PHPtemplate, но можно также использовать Smarty, PHPTAL, EasyTemplateSystem и др.
Темы оформления позволяют создать каркас сайта, который будет наполнен данными, генерируемыми модулями. При разработке модулей программисты, придерживающиеся принятых в Drupal стандартов кодирования, выносят весь код, связанный с выводом данных на экран, в отдельные, именованные специальным образом функции. Такие функции -- функции темизации, обычно не реализуют никакой логики, а лишь принимают набор данных и возвращают HTML-код. Эти функции могут быть переопределены в теме оформления: таким образом, не изменяя код исходного модуля, разработчик может настроить внешний вид для задач конкретного сайта.
Полная локализация содержимого поддерживается сторонними модулями, которые не входят в поставку Drupal, но могут быть скачаны с сайта разработчиков.
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия -- механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.
Другая парадигма появилась с созданием в Drupal расширения ContentConstructionKit (CCK). CCK позволяет дополнять документы новыми полями различных типов -- от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Также посредством дополнительных модулей к CCK (напримерNodereference) можно организовать связи между документами, не используя механизм таксономии.
Drupal имеет модульную архитектуру с компактным ядром, предоставляющим API, к которому могут обращаться модули.Drupal - по-настоящему модульная система. Функциональные возможности системы реализуются с помощью модулей, использование которых можно разрешить или заблокировать. Новые возможности могут быть реализованы на веб-сайте, использующем технологию Drupal, засчет установки уже имеющихся модулей, установки модулей, написанных членами сообщества Drupal, или благодаря разработке новых модулей.
Наиболее популярные модули:
Views -- модуль с интерфейсом для создания различных списков
Panels -- предоставляет возможность разбивать содержимое страницы на регионы (более продвинутое использование стандартных регионов Drupal)
Services -- создание собственных веб-сервисов, например XMLRPC или REST
WYSIWYG -- модуль для работы с wysiwyg редакторами, позволяет одновременно использовать несколько редакторов (ckeditor, tinymce, whyzziwyg)
Apachesolr -- интеграция с поисковиком Apache SOLR
Panelseverywhere -- предоставляет возможность использовать главную панель для всего сайта, с последующей вставкой в неё других панелей
Features -- позволяет сливать определенные данные из базы в код в виде модулей для последующего переноса (например с сервера разработки на препродакшен сервер)
Backupandmigrate (BAM) -- возможность дампа и восстановления базы полностью или частично
Viewsbulkoperations -- групповые операции над объектами в списках
Devel -- набор средств и функций для быстрой разработки
Drush -- Drupalshell, пакет для работы с друпалом и модулями через консоль (также доступен в репозитории последних версий ubuntu)
Memcache -- интеграция с сервером memcached
Ubercart -- система электронной коммерции
Aggregator - позволяет собирать содержание с новостных лент других сайтов и публиковать полученные данные. Поддерживаются ленты форматов RSS, RDF и Atom.
Blog позволяет пользователям вести свои блоги. Блог каждого пользователя состоит из отдельных записей. По умолчанию, записи в блогах выводятся на первую страницу сайта, их можно комментировать и они упорядочены в обратном хронологическом порядке.
Blog API (API блогов) позволяет добавлять на сайт содержание используя внешние программы. Этот модуль также позволяет администраторам настраивать для каких типов документов можно использовать внешние программы.
Book - являются удобным способом организации документации, справочников или сборников ответов на вопросы. На страницах, которые включены в книгу, показывается дополнительные элементы навигации: ссылки для перехода на предыдущую и следующую страницы и ссылка, для перехода к той главе, в которую входит текущая страница. Для книг можно отдельно назначить права для создания, правки и удаления страниц; создания документов в книгах и создание новых книг.
Color позволяет пользователям с правом «Управление конфигурацией сайта» легком и быстро изменять цветовые схемы тем, которые совместимы с этим модулем.
Comment позволяет пользователям добавлять комментарии к документам, отвечать на комментарии других пользователей и вести обсуждения. Также, как и документам, комментариям могут быть добавлены новые поля разных типов и они может быть настроен их вывод. У комментариев относящихся к разным типам документов могут быть разные наборы полей.
Contact позволяет посетителям сайта отправлять сообщения администрации, пользуясь контактной формой сайта, или другим пользователям, пользуясь персональными контактными формами пользователей. Форма отправки сообщения содержит поля для ввода заголовка, содержания и отметку для отправки копии на свой почтовый ящик.
Contenttranslation позволяет переводить документы сайта на разные языки. Работая вместе с модулем Locale, модуль Contenttranslation является ключевым для создания и управления переведёнными на другие языки документами.
Forum позволяет создать на сайте форум и вести на нём обсуждения различных вопросов. Форумы полезны тем, что они позволяют участникам сообщества обсуждать различные темы с другими участниками и использовать эти беседы в дальнейшем для ссылок на них. Форумы могут иметь вложенную иерархию, позволяя группировать обсуждения по темам.
Help позволяет создавать справочные страницы, а также показывать контекстную справку на страницах управления сайтом. Это краткая версия сетевого руководства, которая включена в систему.
Locale позволяет использовать на сайте интерфейс на различных языках, которые отличаются от английского. Модуль работает управляя переводами строк интерфейса в базе данных, проверяя наличие перевода каждой нужной строки перед её выводом на монитор.
Menu позволяет создавать навигационные блоки. Меню является иерархическим сборником ссылок, которые могут вести как на внутренние адреса сайта, так и на внешние и используются для навигации по сайту. Для каждого меню генерируется свой блок, который может быть размещён в регионах темы со страницы блоков. Просмотр и настройка меню выполняется на странице меню.
OpenID позволяет пользователям входить в свои аккаунты используя технологию OpenID. Технология OpenID является безопасным способом посещения аккаунтов наразных сайтов с использованием одного логина и пароля. Использование на сайте OpenID не требует установки дополнительного программного обеспечения, провайдер OpenID не обменивается паролями с посещаемыми пользователями сайтами.
Path позволяет добавить любому системному пути на сайте альтернативный путь. В дополнение к тому, что альтернативные адреса более читаемы чем системны, они также позволяют поисковым системам лучше индексировать содержание. Для каждого системного адреса может использоваться неограниченное количество альтернативных адресов. Для автоматизации процесса добавления альтернативных адресов, можно поставить модуль Pathauto.
PHP Filter добавляет на сайт фильтр PHP filter, который может использоваться в форматах ввода. Этот фильтр добавляет возможность выполнения введённого PHP-кода в тех полях, в которых он обрабатывает содержание. PHP filter позволяет пользователям с соответствующими правами включать PHP-код в содержание, который будет выполнен при открытии страницы.
Poll позволяет создавать вопросники и проводить исследования с выводом общего итога голосований. Опросы являются хорошим способом узнать мнения пользователей сайта и получить отзывы.
Пользователи могут добавлять опросы на странице добавления документов. При добавлении опроса нужно ввести заголовок опроса и варианты ответов, для каждого из которых будет подсчитываться количество голосов.
Ping является удобным средством для оповещения заинтересованных сайтов об изменениях на вашем. Он автоматически посылает сообщения (называемые пингами) в службуPing-O-Matic, чтобы сообщить об изменениях на вашем сайте. Через эту службу работают такие сервисы как weblogs.com, Tehnorati, blo.gs, BlogRolling, Feedster.com, Moreover и другие. Этот модуль требует запуска cron.
Profile позволяет вашим пользователям указывать информацию о себе. С помощью этого модуля, вы можете создать формы, которые будут доступны для заполнения на странице Мой аккаунт > Правка.
Когда вы добавляете формы доступные для заполнения пользователями, вы можете определить в них поля (например имя, возраст, город и т.д.). Вы можете использовать любые поля неограниченное количество раз. Если вы включите модуль Profile (Профиль), то вы можете вывести список всех пользователей вашего сайта. Для этого добавьте в меню ссылку которая будет вести на страницу /profile.
Searchconfig позволяет выставить параметры, которые используются в форме расширенного поиска. Модуль Searchconfig позволяет разрешить или запретить показ определённых полей, используемые при поиске термины и типы документов. Также возможно установить вкладку, на которую будет перенаправляться пользователь при выполнении поиска из блока поиска.
Statistics позволяет собирать информацию о количестве просмотров документов, просматривавшем страницу пользователи, страницу с которой пользователь перешёл на страницу документа и время, когда документ просматривался. Эта информация может быть полезна для выяснения того, какие документы пользователи предпочитают просматривать и как они перемещаются по сайту. Модуль статистики позволяет учитывать просмотр каждой страницы. Для включения этой возможности отметьте поле «Счётчик просмотров» на странице статистики. Количество просмотров может показываться на странице документа пользователям с правом «Просмотр счётчика просмотра документов».
Taxonomy позволяет классифицировать содержание сайта. Для этого нужно определить словари, которые будут содержать термины. Термины можно связывать с различными объектами содержания.
После того, как словаря связан с типом документов, его можно использовать для классификации документов этого типа. Поля терминов будут показывать на страницах редактирования существующих документов этого типа и при добавлении новых документов.
Trigger позволяет вызывать действия при возникновении определённых системных событий, таких как добавление нового документа или вход пользователя в аккаунт. Действия являются задачами, которые необходимо выполнять при возникновении событий, например депубликовать документ или отправить администратору письмо.
UpdateStatus проверяет наличие обновлений для включенных на сайте проектов. Проверка обновлений происходит при запуске cron.
Upload позволяет пользователям загружать на сайт файлы. Возможность загружать файлы важна для тех участников сообщества, которые хотят обмениваться файлами или использовать их в своих документах и комментариях. Пользователи с правами на загрузку файлов могут прикреплять их к документам, а с помощью дополнительных модулей и к комментариям. Вы можете выбрать для каких типов документов разрешено присоединять загружаемые файлы. Права на загрузку могут быть назначены каждой роли отдельно.
Системные требования:
· Drupal в первую очередь ориентирован на платформу LAMP, но возможны варианты использования другого системного ПО.
· Операционная система: семейство Unix (в том числе FreeBSD, Mac OS X), Windows (любые ОС, на которых может работать интерпретатор PHP)
· Веб-сервер: Apache, Nginx, Lighttpd, IIS Versions 6, 7 (через Fast CGI) (теоретически любой веб-сервер, допускающий исполнение PHP-кода)
· СУБД: MySQL, PostgreSQL (в принципе несложна адаптация к другим реляционным СУБД, например IBM DB2)
· PHP версии 4.3.3 и выше (для совместимости со всеми сторонними модулями рекомендуется применять PHP 5, вместо PHP 4). Drupal 7 требует PHP 5.2.4 и выше
Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющихся в PHP возможностей ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде. В Drupal 7 однако присутствует ряд нововведений задействующих объектные возможности PHP 5.
К несомненным достоинствам Drupal следует отнести весьма полную документацию по различным аспектам системы (документация преимущественно на английском языке).
К недостаткам (но одновременно и к достоинствам) Drupal можно отнести отсутствие обратной совместимости API. В каждом новом мажорном релизе происходят большие изменения API, когда наряду с добавлением новых функций убираются некоторые старые или изменяются параметры вызова существующих. Это приводит к необходимости разработчикам сторонних модулей адаптировать их для работы с новыми версиями Drupal. Однако изменения API и процедура адаптации модулей к новым версиям описываются в документации для каждого релиза, также всегда предлагается механизм автоматизированного апгрейда ядра системы на новую версию. Плюс данной схемы разработки -- нет необходимости тянуть из версии в версию программный слой совместимости со старыми API, что облегчает текущий код системы.
Система управления содержимым Drupal сохраняет свое содержимое в базе данных. В самой базе данных содержимое хранится в виде узлов (nodes) и других объектов высокого уровня, таких как пользователи и комментарии. Существует много различных, предопределенных типов узлов, включая тексты (stories), блоги (blogs) и голосования (polls).
Важной концепцией в Drupal является то, что все содержимое хранится в виде узлов. Они являются базовыми функциональными блоками для системы и формируют фундамент, который можно расширить содержимым, хранящимся в Drupal. Создание новых модулей узлов позволяет разработчикам определять и сохранять дополнительные поля в базе данных, которые являются специфичными для конкретного сайта. Узлы классифицируются согласно их типу. Каждый тип узла может обрабатываться и визуализироваться по-разному на основе варианта его использования. Вот несколько стандартных типов узлов:
Страницы (Pages)-простые узлы для отображения содержимого (используя PHP, содержимое можно обновлять динамически; любая часть содержимого может быть динамической при использовании PHP).
Запись в блоге (Blogentry)- узел для обслуживания Web-журнала.
Форумы (Forums)- набор узлов и их комментариев (эти узлы группируются путем назначения элемента таксономии).
Текст (Story)- стандартные страницы, срок действия которых истекает после определенной даты (они аналогичны нормальным страницам, но могут быть оформлены по-другому).
Комментарий (Comment)-специальный тип содержимого, который позволяет пользователям делать комментарии к содержимому, определяемому другими узлами (комментарии не являются типом узла и хранятся в отдельной таблице базы данных).
В базу данных записывается базовый набор информации по узлу, включая заголовок, тизер (или краткий обзор) и тело. Записывается также информация об авторе, времени создания и о состоянии. Обычно для любой дополнительной информации, которая необходима для вашего приложения, вы должны создать новый тип узла, который выполняет запись в таблицы базы данных, специально определенные для этого типа узла.
В Drupal реализована система управления редакциями (revision) для отслеживания изменений содержимого узлов. Это позволяет разработчику модуля выделить новую запись базы данных для каждого узла в таблице, специально выделенной для редакций узла.
Модули являются основным механизмом расширения Drupal. Они реализуют четко определенный интерфейс, позволяющий новым модулям взаимодействовать с системой и системе взаимодействовать с модулем. Drupal вызывает функции в этих интерфейсных ловушках. Ловушки Drupal сгруппированы в три категории; они используются в модулях, которые:
-обеспечивают дополнительные механизмы аутентификации пользователя.
-должны реагировать и взаимодействовать с кодом ядра Drupal.
-обеспечивают новый тип узла в системе.
Установка Drupal
Скачиваем с сайта Drupal.org инсталлятор версии 6.22.
Распаковываем скачанную версию в корень сайта.
Начинаем пошагово устанавливать Drupal:
В каталоге « root\sites\default » - копируем файл default.settings.php как settings.php (проверяем права, запись должна быть для Apache);
Создаем Базу данных в MySQL;
В браузере набираем имя сайта и начинаем установку;
Русифицируем, скачивая с сайта перевод (русский язык);
Cкачиваем Drupal 6 формат пакета;
Нажимаем кнопку Экспорт;
Распаковываем полученный архив в корень сайта;
На странице /admin/build/modules включаем (если он ещё не включен) модуль Locale;
Заходим на /admin/settings/language и жмем Add Language.Далее устанавливаем его как default. И опять сохраняем конфигурацию;
Drupal установлен успешно.
3. Сравнение Drupal с другими CMS
Wordpress
Очень популярная в рунете и мире CMS, особенно среди новичков. Wordpress позволяет создавать сайты различного типа, информационные, новостные и т. п., но всё же, когда говорят о Wordpress, подразумевают, что это, в первую очередь, движок для блогов. В классе блогодвижков Wordpress является безусловным лидером. Таким образом, если вы хотите легко и быстро создать свой блог, либо, что практически то же самое, несложный сайт информационного типа, на который будете периодически добавлять новые статьи и позволять пользователям их комментировать, то именно Wordpress - неплохой выбор.
Wordpress хорошо русифицирован, для него написано множество дополнительных модулей и сделано множество шаблонов. Конечно, вы и сами можете внести изменения в дизайн.
Минусы Wordpress типичны для популярных CMS - не слишком быстрая работа сайта, возможность сбоев при высокой посещаемости и периодическое обнаружение тех или иных дыр в скрипте. Поэтому некоторые пользователи даже при создании блогов отдают предпочтение всё же более простым и лёгким движкам. Также, очевидно, Wordpress вряд ли подойдёт для сложного сайта с большой функциональностью, портала, интернет-магазина и т. п. - для них нужно обратить внимание на более универсальные CMS.
Joomla
Ещё одна популярная CMS, на ней часто делают сайты. Несколько сложнее в освоении, чем Joomla, но имеет и большую сферу применения. Для Joomla разработано огромное число модулей, включая форумы, чаты, блоги, интернет-магазины и т. д., поэтому на ней можно смело пытаться делать сложный многофункциональный сайт. Вообще, на Joomla можно делать самые различные сайты, как простые, так и сложные, это универсальная CMS. Также для Joomla существует огромное число шаблонов, и в возможности создания или выбора дизайна для сайта вебмастер практически не ограничен.
Увы, так же, как и Wordpress, Joomla не обошли стороной проблемы с глюками, дырами и торможением сайта при большой посещаемости. Впрочем, это не мешает множеству поклонников Joomla считать эту CMS лучшим выбором для своих сайтов.
Drupal
Эта CMS подойдёт для создания форумов, блогов (в т. ч. многопользовательских), онлайн-энциклопедий, сайтов сообществ. Однако вряд ли данную систему можно назвать универсальной.
Сравнивая Drupal с Joomla и Wordpress можно однозначно сказать следующее - эта CMS не для тех, кто хочет создать сайт легко и быстро, установив и сразу же получив готовое. Drupal удобнее для тех, кто готов сидеть и тщательно выстраивать структуру сайта, чтобы получить то, что ему нужно, но не для привыкших к простым решениям новичков. Эта особенность отпугивает от Друпала тех, кто не хочет заморачиваться со всей этой сложностью, но привлекает тех, кто любит гибкость и любит поэкспериментировать.
Для Drupal есть шаблоны и модули, но по впечатлению их поменьше, чем для Joomla, кроме того, по Drupal меньше документации на русском языке.
Другие бесплатные CMS
Как уже было сказано, различных CMS очень много, и приведённые выше наиболее популярны. Ещё о нескольких бесплатных CMS:
php-nuke - одна из наиболее старых CMS, которая ранее была весьма популярной, но прославилась также и своей дырявостью и уязвимостью к взломам. Основное назначение - создание порталов, несложна в установке и управлении для новичков.
php-fusion - также cms для создания порталов, немало модулей и шаблонов, сравнительно несложна в установке.
e107 - универсальная cms для построения различных сайтов, много шаблонов и модулей. Однако некоторые пользователи указывают на наличие различных недоработок и тормознутость сайтов под её управлением.
mambo - эта cms предшественник дужмлы, и до сих пор неспешно развивается как отдельный проект. Попроще джумлы, но для кого-то это может быть и преимуществом.
typo3 - cms-монстр, на ней работают многие большие сайты, включая сайты известных корпораций и госучреждений, рассматривается многими как бесплатный конкурент сложных коммерческих cms. Велика по размеру и довольно сложна в освоении, но обилие возможностей может побудить в некоторых случаях сделать выбор в её пользу.
Подобные документы
Процесс разработки базы данных для хранения и обработки информации. Ключи, индексы, триггеры, хранимые процедуры. Разработка пользовательского интерфейса и базы данных. Основные инструментальные средства для разработки клиентской и серверной частей.
дипломная работа [225,0 K], добавлен 18.05.2013Исследование значения информации и информационных услуг в современном мире. Изучение истории хранения и обработки информации. Проектирование инфологической модели базы данных. Реляционная модель баз данных. Домены и отношения. Реляционное исчисление.
курсовая работа [47,9 K], добавлен 13.07.2015Проведение системного анализа предметной области и разработка проекта по созданию базы данных для хранения информации о перевозках пассажиров и грузов. Обоснование выбора системы управления базой данных и разработка прикладного программного обеспечения.
курсовая работа [1,1 M], добавлен 18.07.2014Анализ различных способов хранения информации: одномерный массив, типизированный файл и динамический список. Сортировка только положительных чисел. Словесное описание алгоритма. Блок-схема процедуры обработки данных с помощью одномерного массива.
контрольная работа [319,7 K], добавлен 29.05.2014Характеристика и классификация устройств долговременного хранения данных; их возможности, достоинства и недостатки. Типы и способы хранения и записи информации. Построение сводных таблиц и гистограмм по имеющимся данным, создание межтабличных связей.
курсовая работа [1,6 M], добавлен 27.04.2013Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.
презентация [17,1 K], добавлен 19.08.2013Разработка проекта базы данных для сбора данных в компании, владеющей сетью ресторанов, с целью ведения контроля над заведениями, накопления и хранения информации о деятельности каждого ресторана в сети. Реализация запросов для получения информации.
курсовая работа [501,7 K], добавлен 02.12.2014Системы управления базами данных и их использование для решения задач автоматизации предприятия. Разработка информационного и программного обеспечения для автоматизации хранения и обработки информации при организации работы агропромышленного предприятия.
курсовая работа [607,1 K], добавлен 07.05.2011Современные базы данных – многофункциональные программные системы, работающие в открытой распределенной среде изучении администрирования базы данных. Способы организации внешней памяти баз данных. Системы управления базами данных для хранения информации.
курсовая работа [185,6 K], добавлен 07.12.2010Структура базы данных "Библиотечный фонд". Разработка таблиц "Авторы", "Выдача книг", "Книги фонда". Таблица "Разделы книг" как способ хранения информации о существующих разделах. Способы занесения информации о сотрудниках библиотеки. Формы базы данных.
курсовая работа [940,8 K], добавлен 28.05.2012