База данных "Библиотека" в среде Microsoft Access
Знакомство с техническими основами программы Microsoft Access, анализ функций. Таблица как набор записей, состоящих из отдельных полей, в которых хранится информация и составляющая базы данных. Способы создания базы данных "Библиотека" в Microsoft Access.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.10.2013 |
Размер файла | 478,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
таблица информация база данный
Основные идеи современной информационной технологии базируются на концепции, согласно которой данные должны быть организованы в базы данных с целью адекватного отображения изменяющегося реального мира и удовлетворения информационных потребностей пользователей.
Эти базы данных создаются и функционируют под управлением специальных программных комплексов - систем управления базами данных (СУБД).
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и простых для понимания реляционных (табличных) СУБД.
Для обеспечения одновременного доступа к данным множества пользователей, расположенных достаточно далеко друг от друга и от места хранения баз данных, созданы сетевые мультипользовательские версии БД основанных на реляционной структуре. В них тем или иным путем решаются специфические проблемы параллельных процессов, целостности (правильности) и безопасности данных, а также санкционирования доступа.
На первый взгляд работа с Access кажется, не столь простой, как, например, работа с текстовым редактором, где можно сразу же приступать к набору теста. Прежде чем мы вообще сможем управлять собственными данными с помощью Access, необходимо создать базу данных, состоящую из таблиц. В данной работе будет описано, как это сделать. Представленные в данной работе решения задач призваны дать по возможности хорошее понимание темы и развить навыки для достижения цели кратчайшим путем.
На основе базовых таблиц создаем запросы, которые обеспечивают быстрый и эффективный доступ к данным, хранящимся в таблице. Поэтому они представляют собой важное дополнение к таблицам.
В Access результат запроса можно всегда использовать так же, как таблицу. На основании запроса можно разработать форму или отчет.
Причем возможности оформления данных для вывода на печать настолько же гибки, как и возможности отображения на экране.
1. Теоретические основы программы MS Access
1.1 Общая характеристика Microsoft Access
Microsoft Access - это интерактивная реляционная СУБД (relational database management system - RDBMS ) для WINDOWS . Это программа, которую Вы можете использовать для хранения и извлечения данных в зависимости от отношений, которые Вы установили. Работа с ней упрощена посредством манипулятора мыши. Графические возможности оболочки производят большое впечатление при изготовлении высококачественных отчетов и распечаток. Все это благодаря поддержки True-type шрифтов и встраивания OLE-объектов(Object Linking and Embeding) в рамках среды WINDOWS. OLE - объект представляет собой ссылку на определенную информацию, которая остается в своей первоначальной форме. OLE-объектом может быть EXCEL - таблица, Paintbrush - иллюстрация или Sound - файл.
Новинкой программы Access является Cue Cards - Система суфлирования. Это обучающая система, предоставляющая пользователю рекомендации по выходу из реальных ситуаций при решении прикладных задач. При знании английского языка пользователь всегда сможет получить подсказку о том, что следует делать далее.
Access также предоставляет в распоряжение пользователя механизмы работы с базами данных различных форматов. К примеру, можно прямо обращаться к базам данных dBASE, Paradox или Btrieve без конвертирования их в формат, используемый Access. В состав пакета Access также входит язык Access Basic (встроенный диалект языка Visual Basic ), дающий возможность формирования специализированных систем управления базами данных. Системные требования:
· 80486DX33 или мощнее;
· Windows 95/98/2000 или Windows NT (версия не ниже 3.51);
· не менее 12 Мб оперативной памяти (для совместной работы с другими приложениями не менее 24 Мб);
· около 100 Мб дискового пространства (только для Access и новых баз данных).
Теперь перейдем к более подробному рассмотрению системы Access. Основными понятиями или объектами этой системы являются: таблицы, запросы, формуляры, отчеты, макросы и модули. И, конечно же, главным понятием будет база данных (database).
База данных это набор данных, который связан с определенной темой или назначением. Когда Вы создаете базу данных в Microsoft Access, Вы создаете один файл, который содержит все таблицы, запросы, формуляры, отчеты и другие объекты, которые помогают Вам использовать информацию в базе данных.
Созданную базу данных можно наполнить объектами различного рода и выполнять операции с ними. Но с базой данных можно выполнять операции как с неделимым образованием. Все операции такого рода - операции управления базой данных - сосредоточены в меню File прикладного окна Access или в окне базы данных. Например, операция открытия базы данных включает следующие шаги:
1. Если необходимо, активизируйте Microsoft Access.
2. Из меню File выберите директиву Open Database (или щелкните кнопкой Open Database в строке пиктограмм ). Microsoft Access высвечивает диалоговое окно Open Database.
3. В строке File Name выберите соответствующее имя базы данных, предварительно выбрав соответствующую директорию в списке директорий Directories list и соответствующий накопитель в строке Drives.
4. Нажмите на кнопку OK.
Microsoft Access высветит окно соответствующей базы данных. При открытии базы данных можно ограничить возможные операции с базой данных только чтением и ограничить круг пользователей, имеющих доступ к базе данных только собственной персоной. Такие ограничения могут оказаться полезными, если база данных эксплуатируется в многопользовательской системе. Если необходимо просмотреть базу данных и содержащиеся в ней объекты, но не изменять их, то при открытии базы данных необходимо активизировать контрольный индикатор Read Only (только чтение).
Если необходимо предотвратить изменения данных и объектов данной базы данных со стороны других пользователей, то при открытии базы данных необходимо установить опцию Exlusive (исключительные права).
Базу данных можно подвергнуть сжатию, для этого необходимо выбрать в меню File директиву Compact Database (сжать базу данных). Access создает копию базы данных и по-новому размещает ее на диске. После выбора сжимаемого файла в диалоговом окне сжатия базы данных появляется диалоговое окно цели сжатия (Database to Compact Into), в котором можно выбрать имя для сжатой версии базы данных. Если используется то же самое имя, и база данных оказывается успешно сжатой, то по завершении сжатия Access автоматически уничтожает исходную (несжатую) версию.
Базу данных можно зашифровать для защиты секретной информации от просмотра. Это осуществляется с помощью директивы Encrypt Database (расшифровать - Decrypt Database). В появившемся диалоговом окне выберите подлежащую шифрованию/дешифрованию базу данных и щелкните на кнопке OK. В результате откроется диалоговое окно целевого файла, где следует указать имя файла, в который будет помещен результат шифрования/дешифрования. Если используется то же самое имя и база данных была успешно зашифрована/расшифрована, то Access автоматически заменяет оригинальный файл на полученный в результате преобразования.
В некоторых ситуациях база данных может оказаться поврежденной. Для восстановления базы данных служит директива Repair Database (восстановить базу данных) в меню File. Эту операцию рекомендуется применять в целях профилактики, т.к. Access не замечает, что база данных была повреждена. В диалоговом окне ремонта нужно ввести имя, директорию и накопитель поврежденной базы данных и нажать кнопку OK. После этого Access займется “починкой” заданной базы данных и спасет то, что еще можно спасти. Если пользователь закончил работу с базой данных, то ее следует закрыть.
1.2 Таблицы
Следующим шагом в построении базы данных будет ее заполнение, т.е. создание объектов и присвоение последним необходимых свойств. Какого бы типа ни были Ваши данные, Вам придется хранить их в одной или нескольких таблицах. Таким образом, первым шагом в построении базы данных будет создание таблицы.
ТАБЛИЦА - это набор записей (строк таблицы), состоящих из отдельных полей(колонок таблицы), в которых хранится информация и составляющая, собственно, содержание базы данных.
Таблицы являются основной формой представления информации, содержащейся в базе данных. Без таблицы нельзя спроектировать формуляр, на базе таблиц составляются запросы и отчеты. Создать таблицу можно двумя способами:
1. С помощью Конструктора таблиц:
а) в окне базы данных щелкните на кнопке Table;
б) выберите кнопку New в окне базы данных;
Microsoft Access высветит диалоговое окно New Table.
в) выберите кнопку TableWizards(Конструктора таблиц);
г) в диалоговом окне Конструктора следуйте указаниям по добавлению полей в Вашей таблице.
2. Без помощи Конструктора:
а) в окне базы данных щелкните на кнопке Table (или выберите директиву Tables в меню View);
б) нажмите кнопку New в окне базы данных;
Microsoft Access высветит диалоговое окно New Table.
в) нажмите кнопку New Table.
Microsoft Access откроет пустое окно проектирования таблицы.
В этом окне задаются характеристики полей, составляющих запись (блок данных) базы, т.е. вводится спецификация записи. В нижней части окна Access выдает справочную информацию о допустимых на каждом шаге проектирования действиях.
Каждому полю, включаемому в запись, приписывается тип данных, определяющий вид информации, которая будет храниться в данном поле. Тип данных вносится в колонку Data Type, причем его можно выбрать из списка доступных типов.
Access различает следующие типы данных полей:
Text Текстовые поля содержат текст, длина которого не может быть более 255 символов. Реальная длина поля устанавливается с помощью параметра Field Size (размер поля).
Memo Memo-полях сохраняется текст длиной до 32000 символов. Поля этого типа данных не могут индексироваться.
Number Числовые поля содержат произвольные числовые значения. Диапазон допустимых значений определяется параметром Field Size (размер поля).
Date/Time Поля даты/времени содержат значения даты и времени в диапазоне от 100 до 9999 года.
Currency В денежных полях можно хранить числа с точностью до 15 разрядов слева от запятой и четырех десятичных разрядов справа от запятой.
Counter Поле счетчика содержит число, которое автоматически увеличивается Access на 1, когда в таблицу добавляется новый блок данных.
Yes/No В таких полях сохраняются значения Да или Нет. Поля данного типа не могут индексироваться.
OLE Object В OLE - полях помещаются объекты, такие как, например, Excel-таблица или Microsoft Draw - графика, обработанные OLE - сервером. Размер поля может быть до 128 МБ. Поля данного типа не могут индексироваться.
Характеристики каждого поля определяются рядом параметров (свойств). Эти параметры объявляют способы обработки, сохранения и индикации данных. Параметры специфицируемого поля перечисляются в режиме проектирования в нижней части окна таблицы. Набор характеризующих поле параметров зависит от типа данных, выбранного пользователем для данного поля.
Field Size Размер поля устанавливает максимальную длину текстового поля или способ представления чисел в поле типа Number.
Format Формат определяет способ представления данных. Наряду с предопределенными форматами допускается использование собственных форматов пользователя.
Decimal Places Десятичные разряды устанавливают количество разрядов справа от десятичной запятой.
Caption Заголовок определяет надпись, которая будет использоваться в качестве наименования поля в формуляре или отчете. Если для этого параметра не будет задано никакое значение, то в качестве надписи будет по умолчанию использовано имя поля.
Default Value Значение по умолчанию устанавливает значение, которое будет автоматически введено в поле при генерации блока данных.
Validation Rule Ограничение ввода - правило, ограничивающее допустимые для ввода в поле данные.
Validation Text Сообщение о нарушении - текст, возникающий при попытке ввести в поле данные, не удовлетворяющие правилу, сформулированному в Validation Rule.
Indexed Признак индексирования.
В готовую спецификацию можно вносить изменения. В частности, можно изменять параметры отдельных полей, добавлять поля в запись в нужных местах и удалять лишние. Но при этом следует постараться внести все исправления в спецификацию до начала заполнения базы данных, т.к. попытка изменить параметры полей, заполненной базы может повлечь за собой потерю или искажение данных.
Переупорядочение полей:
1. Выберите поле, подлежащее переразмещению, щелкнув кнопкой мыши в селекторной колонке, расположенной на левом краю окна таблицы.
2. Щелкните в селекторной колонке опять и удерживая правую кнопку мыши нажатой перетащите указатель мыши в нужную позицию.
Microsoft Access расположит маркированное Вами поле в новом месте.
Удаление полей:
1. Откройте таблицу в режиме проектирования.
2. Маркируйте подлежащее удалению поле, щелкнув кнопкой мыши в селекторной колонке.(Или используйте клавиши управления курсором и подведя указатель к соответствующему полю нажмите комбинацию клавиш Shift+Spacebar).
3. Из меню Edit выберите директиву Delete Row (или нажмите кнопку Delete Row в строке пиктограмм).
Microsoft Access удалит поле и все его данные из Вашей таблицы.
Вставка полей:
1. Установите указатель строки к полю, над которым Вы бы хотели разместить новое поле, с помощью мыши или клавишами управления курсором.
2. Из меню Edit выберите директиву Insert Row(или выберите кнопку Insert Row в строке пиктограмм).
Microsoft Access вставит пустое поле над текущей строкой.
Microsoft Access работает наиболее эффективно, если Вы определили первичный ключ. Первичный ключ таблицы состоит из одного или нескольких полей, которые однозначно идентифицируют каждую запись в Вашей таблице. Вам следует всегда определять первичный ключ т.к. при этом таблица имеет следующие преимущества:
1. Microsoft Access автоматически создает индекс для первичного ключа. Этот индекс ускоряет процессы запросов и другие операции.
2. Когда Вы просматриваете записи, Microsoft Access покажет их упорядоченными по первичному ключу по умолчанию.
3. Когда Вы добавляете данные к Вашей таблице, Access не позволит хранить данные с одним и тем же значением первичного ключа. Поэтому Вы можете быть уверены ,что каждая запись уникальна.
В Access-таблицы можно встроить объекты из других поддерживающих интерфейс OLE прикладных программ и связать эти объекты с их родительскими программами.
1.3 Запросы
Запрос можно представить себе как точку зрения на данные, включенные в таблицу. Запросы служат для селекции и фильтрации набора данных. Они позволяют выбрать из базы только необходимую информацию, т.е. ту, которая соответствует определенному критерию (условию) и нужна для решения конкретной задачи. Результат обработки программой Access такого запроса представляет собой таблицу называемую Dynaset. В эту таблицу включены выбранные из основной таблицы(или нескольких таблиц) блоки данных, которые удовлетворяют критериям запроса. Dynaset - динамический, временный набор данных, поэтому при каждом выполнении запроса он строится вновь на основе “свежих” табличных данных.
Microsoft Access дает большие возможности в гибкости проектирования запросов. Вы можете:
1. Выбрать поля, Вам не надо включать все поля таблицы в запрос.
2. Выбрать записи, Вы можете специфицировать запрос таким образом что получите данные определенного вида.
3. Отсортировать записи, Вы можете просматривать записи в определенном порядке. Например, Вы можете вывести имена клиентов на экран в алфавитном порядке.
4. Запрашивать данные из нескольких таблиц, данные из нескольких таблиц могут обрабатываться вместе и Вы можете просмотреть совмещенные данные. Также Вы можете запрашивать данные из других баз данных, таких как Microsoft FoxPro, Paradox, dBASE, Btrieve и Microsoft или Sybase SQL-серверы.
5. Выполнять вычисления, Вы можете создавать новые поля которые будут содержать результаты вычислений.
6. Использовать запрос в качестве источника данных для формуляров, отчетов и других запросов. Каждый раз когда Вы будете открывать формуляр или печатать отчет, Ваш запрос будет извлекать новейшую информацию из таблиц. Вы также сможете модифицировать существующие данные прямо в формуляре основанном на запросе.
7. Изменять данные в таблицах, Вы можете обновлять, удалять, добавлять группы записей все сразу. Вы также можете создать новую таблицу на базе существующей таблицы или группы таблиц.
Выделяют два типа запросов:
1. QBE-запросы (Query by Example -Запрос по образцу). Пользователь дает им определения, специфицируя отдельные параметры в окне проектирования с использованием подсказок(образцов).
2. SQL - запросы (Structured Query Language -Структурированный язык запросов). Пользователь формулирует их с использованием инструкций и функций, выстраивая описание. QBE-запрос Access легко транслирует в соответствующий SQL-запрос. Обратная операция тоже не составляет труда. Вообще для Access безразлично, с каким типом запроса работает пользователь.
Запросы можно создавать с помощью Конструктора запросов. Он ускоряет проектирование нескольких специальных типов запросов:
1. Запросы кросс-таблиц. Представляют Ваши данные в компактном суммированном формате.
2. Запросы нахождения дубликатов. Находят дубликатные записи в выбранной Вами таблице или запросе.
3. Запросы нахождения несоответствия. Находят все записи в таблице которые не связаны с записями в другой таблице.
4. Запросы архивов. Копируют записи из существующей таблицы в новую и затем удаляют (по желанию) эти записи из таблицы оригинала.
Но для большинства общеиспользуемых запросов не нужна помощь Конструктора запросов.
С помощью структурированного языка запросов SQL в рамках Access пользователь может сформулировать сколь угодно сложные по структуре критериев и вычислений запросы. Этот же язык позволяет управлять обработкой запросов. SQL-запрос представляет собой последовательность инструкций, в которую могут включаться выражения и вызовы агрегатных функций. Начинающим пользователям рекомендуется создавать запросы в режиме проектирования, выбирая необходимые поля, критерии сортировки и функции в зоне спецификации. Для описания запросов на языке SQL нужен достаточный опыт работы с базами данных не в качестве пользователя, а в качестве программиста.
Если пользователь хочет иметь разработанный проект запроса в своем распоряжении и во время следующих сеансов работы, то он должен его сохранить с помощью директивы Save в меню File. Если проект сохраняется впервые, то после обращения к этой директиве появится диалоговое окно Save As. В нем следует назначить запросу имя, под которым он будет сохранен и включен в список запросов в окне банка данных. Имя запроса не должно совпадать с именем таблицы.
Если данный запрос уже был однажды сохранен и пользователь выбрал директиву Save, то старая версия будет заменена новым, измененным проектом запроса. Если изменения не должны испортить предыдущую версию, а должны быть сохранены в другом запросе, то следует вызвать директиву Save As и назначить сохраняемому проекту новое имя. Для сохранения табличного представления запроса следует выбрать директиву Save Query в меню File. Эта директива сохраняет изменения в проекте имеющегося запроса и заменяет предыдущую версию запроса на активную версию. Для того чтобы сохранить запрос впервые или создать копию активного запроса, Dynaset которого виден на экране, следует выбрать директиву Save Query As.
Наряду с запросами выбора, с помощью Access можно реализовать также запросы действий, параметрические запросы и запросы кросс-таблиц.
С помощью запроса действия пользователь может изменять или переносить данные таблицы, а также актуализировать, добавлять или удалять группы блоков данных ,изготавливать новые таблицы из набора Dynaset. Различают четыре типа запросов действий: запрос добавления, запрос удаления, запрос актуализации и запрос создания таблицы.
Часто используются запросы, которые представляют собой незначительно видоизмененные варианты однажды подготовленного базового запроса. Речь может идти, например, о запросе, который позволяет выбирать из базы данных телефоны клиентов определенного региона, причем сам регион задается отдельно, в диалоге. Такие запросы, параметрические, видоизменяются от случая к случаю, но незначительно. Для их реализации проектируется один параметрический запрос, в котором указывается тот критерий (критерии), который может изменяться по заказу пользователя.
Если необходимо объединить данные в формате строк-колонок (двумерная таблица), то следует изготовить запрос кросс-таблицы. При проектировании запроса кросс-таблицы можно указать в качестве заголовков для колонок значения некоторых полей или выражений. Запросы кросс-таблиц позволяют более компактно, чем обычные запросы, индицировать данные, объединяя однотипную информацию.
1.4 Формуляры
Просмотр базы данных в виде таблицы в режиме заполнения дает пользователю возможность оценить базу как единое целое, сравнить записи и т.п. Часто, однако, возникает необходимость работы с отдельными записями базы. В этом случае присутствие на экране других записей (как это имеет место в режиме заполнения) только мешает и отвлекает. Работа с отдельными записями посредством формуляров позволяет сосредоточиться только на относящейся к делу информации.
Формуляр представляет собой бланк, подлежащий заполнению, или маску, накладываемую на набор данных. Бланк-формуляр позволяет упростить процесс заполнения базы данных, благодаря чему появляется возможность поручить ввод информации персоналу невысокой квалификации. Маска-формуляр позволяет ограничить объем информации, доступной пользователю, обращающемуся к базе. Речь здесь также может идти о блокировании индикации служебных или засекреченных полей.
Если пользователь уверен в том, что сможет самостоятельно спроектировать формуляр без помощи Конструктора Формуляров (вполне реальная ситуация при наличии достаточного опыта), то ему следует создать пустой формуляр и затем внести в него требуемые поля, элементы оформления и управляющие элементы.
Внешний вид, структура и режимы работы отдельных управляющих элементов и формуляров определяются значениями характеристик этих объектов. Характеристики объектов доступны пользователю через окно характеристик. Для установки или изменения характеристик элемента его надлежит маркировать и из меню View вызвать директиву Properties. Можно также выполнить двойной щелчок мышью на том элементе, окно свойств которого необходимо вывести на экран.
Для индикации инструментального окна установите в меню View опцию Toolbox. Каждый инструмент, а точнее, создаваемый с его помощью элемент управления/оформления, располагает собственным окном характеристик, и в нем в виде списка представлены стандартные установки для соответствующего управляющего элемента.
Включаемые в формуляр поля можно выбрать из списка полей, который будет виден на экране после обращения к директиве Field List в менюView.
При проектировании формуляра в него можно вставить управляющие элементы. Речь идет, например, о командных кнопках, списках, иллюстрациях и пр. Каждый управляющий элемент может быть связан с некоторым объектом (полем) в таблице (или запросе), на которой базируется форма. Например, связанное с некоторым полем блока таблицы текстовое поле формуляра будет постоянно отображать содержимое “своего” поля активной записи таблицы. Выбранные и размещенные в окне проектирования формуляра элементы управления приобретают свой реальный вид только в режиме заполнения или при просмотре прототипа распечатки (режим Preview). В режиме же проектирования они обычно представлены условными обозначениями, зачастую близкими к реальному виду обозначаемых элементов.
1.5 Отчеты
Отчет это информация, которую Вы оформили в соответствии с Вашими спецификациями. Отчет позволяет извлекать и представлять данные как значимую информацию, которую Вы можете использовать и распространять. Примерами отчетов могут служить почтовые адреса, накладные, суммы продаж или списки телефонов. С помощью Microsoft Access Вы можете спроектировать отчет который представит информацию в том виде в котором Вы пожелаете. Вы можете использовать множество различных элементов проектирования, таких как текст, данные, рисунки, линии, поля и графики для создания Вашего отчета. От Вас зависит, как и какие элементы использовать для построения отчета.
Отчеты также являются эффективным средством для распечатки информации регулярного использования. Вы можете создать проект отчета и сохранить его для дальнейшего использования. Проект отчета останется неизменным, но каждый раз Вы будете получать распечатку текущих данных.
Перед тем как создать отчет, подумайте о том, откуда Ваш отчет будет извлекать данные. Если все данные из одной таблицы, то Ваш отчет будет основываться на этой таблице. Если же Вам необходимы данные более чем из одной таблицы, то Ваш отчет должен основываться на запросе.
Вы можете создавать отчеты, как при помощи, так и без помощи Конструктора Отчетов. Конструктор намного ускорит процесс создания отчета, так как он сделает за Вас основную работу.
Самый быстрый способ создания отчета - используя Конструктор Автоотчета. Отчет будет представлять собой единственную колонку, показывая все поля таблицы или запроса.
В прототип отчета в процессе проектирования можно встроить управляющие элементы. Управляющие элементы, встроенные в прототип отчета, могут использоваться для оформления заголовков, надписей и иллюстраций.
2. Язык SQL как стандартный язык баз данных
2.1 Сведения об SQL
Стремительный рост популярности SQL является одной из самых важных тенденций в современной компьютерной промышленности. За несколько последних лет SQL стал единственным языком баз данных. На сегодняшний день SQL поддерживают свыше ста СУБД, работающих как на персональных компьютерах, так и на больших ЭВМ. Был принят, а затем дополнен официальный международный стандарт на SQL. Язык SQL является важным звеном в архитектуре систем управления базами данных, выпускаемых всеми ведущими поставщиками программных продуктов, и служит стратегическим направлением разработок компании Microsoft в области баз данных. Зародившись в результате выполнения второстепенного исследовательского проекта компании IBM, SQL сегодня широко известен и в качестве мощного рыночного фактора.
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL - это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных одного определенного типа, называемых реляционными. На рис. 2.1 изображена схема работы SQL
Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если вычислительная система относится к сфере бизнеса, то в базе данных может храниться информация о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может храниться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название - структурированный язык запросов.
Однако это название не совсем соответствует действительности. Во-первых, сегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания запросов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно:
· Организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных.
· Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.
· Обработка ванных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.
· Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
· Совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу.
· Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
Во-вторых, SQL - это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.
Наконец, SQL - это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных. SQL - это достаточно мощный и в то же время относительно легкий для изучения язык.
2.2 Роль SQL
Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL - это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней. На рис. 2.2. изображена структурная схема типичной СУБД, компоненты которой соединяются в единое целое с помощью SQL (своего рода "клея").
Ядро базы данных является сердцевиной СУБД, оно отвечает за физическое структурирование и запись данных на диск, а также за физическое чтение данных с диска. Кроме того, оно принимает SQL-запросы от других компонентов СУБД (таких как генератор форм, генератор отчетов или модуль формирования интерактивных запросов), от пользовательских приложений и даже от других вычислительных систем. Как видно из рисунка, SQL выполняет много различных функций:
· SQL - интерактивный язык запросов. Пользователи вводят команды SQL в интерактивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов.
· SQL - язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких как генераторы отчетов и инструменты ввода данных).
· SQL - язык администрирования баз данных. Администратор базы данных, находящейся на мини-компьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным.
· SQL - язык создания приложений клиент/сервер, и программах для персональных компьютеров SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве новых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие как персональных компьютеров, так и серверов баз данных.
· SQL - язык распределенных баз данных. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным.
· SQL - язык шлюзов базы данных. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа связываться с СУБД другого типа.
Таким образом, SQL превратился в полезный и мощный инструмент, обеспечивающий людям, программам и вычислительным системам доступ к информации, содержащейся в реляционных базах данных.
2.3 Достоинства SQL
SQL - это легкий для понимания язык и в то же время универсальное программное средство управления данными.
Успех языку SQL принесли следующие его особенности:
* независимость от конкретных СУБД;
* переносимость с одной вычислительной системы на другую;
* наличие стандартов;
* одобрение компанией IBM (СУБД DB2);
* поддержка со стороны компании Microsoft (протокол ODBC);
* реляционная основа;
* высокоуровневая структура, напоминающая английский язык;
* возможность выполнения специальных интерактивных запросов:
* обеспечение программного доступа к базам данных;
* возможность различного представления данных;
* полноценность как языка, предназначенного для работы с базами данных;
* возможность динамического определения данных;
* поддержка архитектуры клиент/сервер.
Все перечисленные выше факторы явились причиной того, что SQL стал стандартным инструментом для управления данными на персональных компьютерах, мини-компьютерах и больших ЭВМ. Ниже эти факторы рассмотрены более подробно.
2.4 Независимость от конкретных СУБД
Все ведущие поставщики СУБД используют SQL, и ни одна новая СУБД, не поддерживающая SQL, не может рассчитывать на успех. Реляционную базу данных и программы, которые с ней работают, можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Программные средства, входящие в состав СУБД для персональных компьютеров, такие как программы для создания запросов, генераторы отчетов и генераторы приложений, работают с реляционными базами данных многих типов. Таким образом, SQL обеспечивает независимость от конкретных СУБД, что является одной из наиболее важных причин его популярности.
2.5 Влияние SQL
Будучи стандартным языком доступа к реляционной базе данных, SQL оказывает большое влияние на все сегменты компьютерного рынка. Компания IBM приняла SQL в качестве унифицирующей технологии баз данных для линии своих продуктов. Все поставщики мини-компьютеров предлагают реляционные базы данных; такие базы данных доминируют и на рынке компьютерных систем. По мере того как отдельные персональные компьютеры уступают дорогу сетям с архитектурой клиент/сервер, SQL видоизменяет рынок баз данных для персональных компьютеров. SQL применяется даже при оперативной обработке транзакций, опровергая бытовавшее ранее мнение, что из-за низкого быстродействия реляционные базы данных никогда не смогут использоваться в приложениях для обработки транзакций.
3. Создание базы данных «Библиотека» в MS Access
Базы данных - это совокупность структур, предназначенных для хранения больших объёмов информации и программных модулей, осуществляющих управление данными, их выборку, сортировку и другие подобные действия. Информация базы данных хранится в одной или нескольких таблицах. Любая таблица с данными состоит из набора однотипных записей, расположенных друг за другом. Они представляют собой строки таблицы, которые можно добавлять, удалять или изменять. Каждая запись представляет собой набор именованных полей, или ячеек, которые могут хранить самую разнообразную информацию, начиная от даты рождения и заканчивая подробным описанием кулинарного рецепта. Однотипные поля образуют столбец таблицы.
Записи одной таблицы могут содержать ссылки на данные другой таблицы. Взаимодействие таблиц называется связью.
Другие модули базы данных предназначены для обработки информации, хранящейся в таблицах. С помощью запросов производится выборка данных, отвечающих определённым условиям. Формы предназначены для форматированного ввода и восприятия информации. Отчёты обеспечивают вывод (как правило, на принтер) красочно оформленного списка записей с заголовками, пунктами и подпунктами.
Конструктор таблиц предназначен для задания и изменения структуры таблицы. Разработаем таблицы для библиотеки.
Таблица 1
Авторы |
|||||
Код |
ФИО автора |
Книги |
Номер книги |
Номер места |
|
1 |
Коэльо П. |
Одиннадать минут |
2541 |
О(65) |
|
2 |
Коэльо П. |
Пятая гора |
2587 |
Л(71) |
|
3 |
Колпакчи М. |
Дружеские встречи с английским языком |
1269 |
Р(08) |
|
4 |
Крылова И.П. |
Английская грамматика для всех |
1268 |
П(04) |
|
5 |
Шелдон С. |
Тонкий расчет |
1287 |
О(71) |
|
6 |
Бушков А. |
Хроники мутного времени |
1489 |
Л(74) |
|
7 |
Бушков А. |
Россия, которой не было |
1579 |
Д(34) |
|
8 |
Веллер М. |
Романы |
5241 |
Л(31) |
|
9 |
Дюма А. |
Три мушкетера |
2465 |
Г(75) |
|
10 |
Пикуль В. |
Пером и шпагой |
1257 |
А(03) |
Таблица 2
Книги |
||||||
Код |
Название |
ФИО автора |
Год издания |
Номер книги |
Номер места |
|
1 |
Одиннадать минут |
Коэльо П. |
2004 |
2541 |
О(65) |
|
2 |
Пятая гора |
Коэльо П. |
2003 |
2587 |
Л(71) |
|
3 |
Дружеские встречи с английским языком |
Колпакчи М. |
1993 |
1269 |
Р(08) |
|
4 |
Английская грамматика для всех |
Крылова И.П. |
1989 |
1268 |
П(04) |
|
5 |
Тонкий расчет |
Шелдон С. |
1998 |
1287 |
О(71) |
|
6 |
Хроники мутного времени |
Бушков А. |
2005 |
1489 |
Л(74) |
|
7 |
Россия, которой не было |
Бушков А. |
2005 |
1579 |
Д(34) |
|
8 |
Романы |
Веллер М. |
2007 |
5241 |
Л(31) |
|
9 |
Три мушкетера |
Дюма А. |
1992 |
2465 |
Г(75) |
|
10 |
Пером и шпагой |
Пикуль В. |
1997 |
1257 |
А(03) |
Таблица 3
Издательства |
|||||
Код |
Название |
ФИО автора |
Номер книги |
Издательство |
|
1 |
Одиннадать минут |
Коэльо П. |
2541 |
К.: "София", 2004 |
|
2 |
Пятая гора |
Коэльо П. |
2587 |
М.: ИД "София", 2003 |
|
3 |
Друж. вст. с англ. язык. |
Колпакчи М. |
1269 |
СПб.: ИД "Корвус", 1993 |
|
4 |
Анг. грамм. для всех |
Крылова И. П. |
1268 |
М.: Высш. шк., 1989 |
|
5 |
Тонкий расчет |
Шелдон С. |
1287 |
М.: ООО "Фирма "Издательство АСТ", 1998 |
|
6 |
Хроники мут. времени |
Бушков А. |
1489 |
М.: Изд-во "Олма-Пресс", 2005 |
|
7 |
Россия, кот. не было |
Бушков А. |
1579 |
М.: Изд-во "Олма-Пресс", 2005 |
|
8 |
Романы |
Веллер М. |
5241 |
М.: АСТ "Москва", 2007 |
|
9 |
Три мушкетера |
Дюма А. |
2465 |
СПб.: Лениздат, 1992. |
|
10 |
Пером и шпагой |
Пикуль В. |
1257 |
М: Вече, АСТ, 1997. |
Таблица 4
Экземпляры книг |
|||||
Код |
Название |
ФИО автора |
Номер книги |
Экзем. |
|
1 |
Одиннадать минут |
Коэльо П. |
2541 |
3 |
|
2 |
Пятая гора |
Коэльо П. |
2587 |
5 |
|
3 |
Дружеские встречи с английским языком |
Колпакчи М. |
1269 |
2 |
|
4 |
Английская грамматика для всех |
Крылова И.П. |
1268 |
6 |
|
5 |
Тонкий расчет |
Шелдон С. |
1287 |
4 |
|
6 |
Хроники мутного времени |
Бушков А. |
1489 |
1 |
|
7 |
Россия, которой не было |
Бушков А. |
1579 |
8 |
|
8 |
Романы |
Веллер М. |
5241 |
4 |
|
9 |
Три мушкетера |
Дюма А. |
2465 |
7 |
|
10 |
Пером и шпагой |
Пикуль В. |
1257 |
2 |
Таблица 5
Читатели |
|||||
Код |
ФИО читателя |
Контакты |
номер абон. |
Дата получ. |
|
1 |
Сергеев А. П. |
ул. Фестивальная 30-114 тел. 222-62-98 |
85958 |
22.09.2008 |
|
2 |
Молчанов В. К. |
ул. Лесная 25-3 |
23649 |
30.09.2008 |
|
3 |
Смирнова И. В. |
пр-т Мира 19-68 тел 8-914-658-45-58 |
25161 |
02.10.2008 |
|
4 |
Гусева Л. А. |
ул. Молодежная 14-22 тел. 265-23-29 |
32698 |
15.10.2008 |
|
5 |
Алексеева Е. А. |
ул. Гагарина 2-11 тел. 223-659-56-73 |
72168 |
01.10.2008 |
Таблица 6
Выдачи книг |
||||||
Код |
ФИО читателя |
Номер абон. |
ФИО автора |
Название книги |
Дата выдачи |
|
1 |
Молчанов В. К. |
23649 |
Коэльо П. |
Пятая гора |
21.10.2008 |
|
2 |
Молчанов В. К. |
23649 |
Дюма А. |
Три мушкетера |
21.10.2008 |
|
3 |
Гусева Л. А. |
32698 |
Веллер М. |
Романы |
23.10.2008 |
|
4 |
Сергеев А. П. |
85958 |
Пикуль В. |
Пером и шпагой |
01.11.2008 |
|
5 |
Смирнова И. В. |
25161 |
Колпакчи М. |
Дружеские встречи с английским языком |
02.10.2008 |
|
6 |
Смирнова И. В. |
25161 |
Бушков А. |
Россия, кот. не было |
02.10.2008 |
Таблица 7
Возвраты |
||||||
Код |
ФИО читателя |
Номер абон. |
ФИО автора |
Название книги |
Дата возврата |
|
1 |
Молчанов В. К. |
23649 |
Коэльо П. |
Пятая гора |
02.11.2008 |
|
2 |
Гусева Л. А. |
32698 |
Веллер М. |
Романы |
30.10.2008 |
|
3 |
Смирнова И. В. |
25161 |
Колпакчи М. |
Друж. встречи с англ. языком |
10.10.2008 |
|
4 |
Смирнова И. В. |
25161 |
Бушков А. |
Рос., кот. не было |
10.10.2008 |
Запрос сортировки. Заходим в меню Запрос > Создать > Конструктор. Выбираем таблицу Авторы. Перетаскиваем поля ФИО автора, Книги, Номер книги, Номер места. В поле Фамилия в сортировке указываем по возрастанию.
Таблица 8
Запрос сортировки |
||||
ФИО автора |
Книги |
Номер книги |
Номер места |
|
Бушков А. |
Россия, которой не было |
1579 |
Д(34) |
|
Бушков А. |
Хроники мутного времени |
1489 |
Л(74) |
|
Веллер М. |
Романы |
5241 |
Л(31) |
|
Дюма А. |
Три мушкетера |
2465 |
Г(75) |
|
Колпакчи М. |
Дружеские встречи с английским языком |
1269 |
Р(08) |
|
Коэльо П. |
Пятая гора |
2587 |
Л(71) |
|
Коэльо П. |
Одиннадать минут |
2541 |
О(65) |
|
Крылова И.П. |
Английская грамматика для всех |
1268 |
П(04) |
|
Пикуль В. |
Пером и шпагой |
1257 |
А(03) |
|
Шелдон С. |
Тонкий расчет |
1287 |
О(71) |
SQL-код:
SELECT Авторы.[ФИО автора], Авторы. Книги, Авторы.[Номер книги], Авторы.[Номер места]
FROM Авторы
ORDER BY Авторы.[ФИО автора];
Запрос с параметром. Создать > Конструктор, выбираем таблицу Читатели и Выдачи книг. Затем выбираем поля ФИО читателя, Номер абонемента, Дата получения, Название книги, ФИО автора, Дата выдачи. В поле Номер абонемента в Условии отбора набираем текст в скобках [Введите номер группы]. Теперь при запуске этого запроса появляется надпись с просьбой ввести номер абонемента читателя о котором нам необходима информация.
Таблица 9
Запрос с параметром |
||||||
ФИО читателя |
номер абонемента |
Дата получения |
Название книги |
ФИО автора |
Дата выдачи |
|
Алексеева Е.А. |
72168 |
01.10.2008 |
Дружеские встречи с английским языком |
Колпакчи М. |
02.10.2008 |
SQL-код:
SELECT Читатели.[ФИО читателя], Читатели.[номер абонемента], Читатели.[Дата получения], [Выдачи книг].[Название книги], [Выдачи книг].[ФИО автора], [Выдачи книг].[Дата выдачи]
FROM Читатели INNER JOIN [Выдачи книг] ON Читатели.Код = [Выдачи книг].Код
WHERE (((Читатели.[номер абонемента])=[ведите номер абонемента]));
Итоговый запрос. Вычисляет различные статистические параметры. Выбираем таблицу Книги. Поля Название, ФИО автора, Год издания. Включаем Групповые операции и в поле ФИО автора выбираем функцию Count Количество записей, соответствующее поле которых не содержит величины Null. Мы получим в результате выполнения запроса количество авторов по предметам и годам издания.
Таблица 10
Итоговый запрос |
|||
Название |
Count-ФИО автора |
Год издания |
|
Английская грамматика для всех |
1 |
1989 |
|
Дружеские встречи с английским языком |
1 |
1993 |
|
Одиннадать минут |
1 |
2004 |
|
Пером и шпагой |
1 |
1997 |
|
Пятая гора |
1 |
2003 |
|
Романы |
1 |
2007 |
|
Россия, которой не было |
1 |
2005 |
|
Тонкий расчет |
1 |
1998 |
|
Три мушкетера |
1 |
1992 |
|
Хроники мутного времени |
1 |
2005 |
SQL-код:
SELECT Книги.Название, Count(Книги.[ФИО автора]) AS [Count-ФИО автора], Книги.[Год издания]
FROM Книги
GROUP BY Книги.Название, Книги.[Год издания];
Создадим формы на основе таблиц
В то время как таблицы и запросы позволяют отобразить на экране длинные списки записей, формы дают возможность сосредоточиться на конкретной записи. Они облегчают ввод, редактирование и восприятие информации, могут содержать вспомогательные подписи и элементы оформления.
Создать > Конструктор > Источник строк, выбираем таблицу Книги. Перетаскиваем поля Название, Год издания, ФИО автора, Номер места, Номер книги. Размещаем на экране так, как нам удобно. Устанавливаем размеры надписей. На панели элементов нажимаем кнопку Надпись. Вводим название формы «Сведения о книгах», устанавливаем размер 22. Появляется крупная надпись. При нажатой кнопке Мастера нажимаем кнопку Кнопка и перетаскиваем её на общее поле. Затем выбираем функцию этой кнопки (Первая запись, Последняя запись, Следующая запись).
Рис.
Создадим отчет
В целом отчёты похожи на формы, но они, как правило, предназначаются для вывода информации из базы данных на принтер. Поэтому в отчётах данные форматируются так, чтобы их было удобно размещать на отдельных страницах. Отчёты поддерживают самые разнообразные способы оформления и позволяют группировать данные, разбивая их на логические цельные блоки.
Создадим отчет Списки читателей. Создать > Конструктор > Запрос.
Создадим надпись, перенесём поля, установим их размер и месторасположение.
Рис.
Заключение
Для принятия обоснованных и эффективных решений в производственной деятельности, в управлении экономикой и в политике современный специалист должен уметь с помощью компьютеров и средств связи получать, накапливать, хранить и обрабатывать данные, представляя результат в виде наглядных документов. Поэтому, в данной курсовой работе была рассмотрена работа с базами данных: общая характеристика структуры базы данных, создание таблиц, запросов, форм и отчетов, а также связей между ними.
Работа с базами данных рассмотрена на примере создания базы данных «Библиотека». На основе базовых таблиц создаются запросы, которые обеспечивают быстрый и эффективный доступ к данным, хранящимся в таблице. Поэтому они представляют собой важное дополнение к таблицам. На основании запроса можно разработать форму или отчет.
Список использованных источников
1.Бемер С., Фратер Г.: Microsoft Access для пользователя. Микап, Москва 1994.
2.Вейскас Д. Эффективная работа с Microsoft Access 2000. С-Пб.: Питер, 2001 год.
3.Робинсон С. Microsoft Access 2000. Учебный курс. С-Пб.: Питер, 2000 год.
4.Информатика. Базовый курс /Симонович С.В. и др. - СПб: Издательство «Питер», 2000. - 640с.
Размещено на Allbest.ru
Подобные документы
Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.
курсовая работа [3,2 M], добавлен 07.05.2013Разработка реляционной базы данных "Библиотека" с помощью СУБД Microsoft SQL Server 2000 и программной оболочки в Microsoft Access. Экономическое обоснование результатов внедрения программного продукта. Инструкция по эксплуатации клиентского приложения.
курсовая работа [3,4 M], добавлен 01.07.2011Состав, расширение баз данных Access (Microsoft Office). Выполнение запросов, заполнение форм и таблиц. Типы данных Microsoft Access. Средства создания объектов базы данных СУБД. Дополнительные возможности запросов. Свойства полей. Режим работы с формами.
презентация [3,0 M], добавлен 28.10.2014Начало работы в Microsoft Access. Основные моменты создания несложной базы данных: создание титульного листа в режиме конструктор, базы данных, порядок занесения данных для базы в режиме презентации. Особенности оформления отчета и настройки программы.
лекция [2,4 M], добавлен 07.02.2010Проектирование базы данных с использованием комплекса программных и языковых средств Microsoft Access. Модель данных, доступ к ним. Назначение, основные возможности и версии Access. Запуск программы; окно базы данных, формы для их ввода и редактирования.
курсовая работа [1,1 M], добавлен 30.12.2014Microsoft Access как система управления базами данных (СУБД), ее предназначение. Организованная структура для хранения данных. Типы данных при работе с Microsoft Access 2003 и Microsoft Access 2007. Проектирование баз данных и построение ER-диаграммы.
контрольная работа [16,3 K], добавлен 10.10.2010Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".
курсовая работа [1,6 M], добавлен 07.03.2015Обзор Microsoft Access, элементы базы данных в различных режимах. Создание простой таблицы. Типы и свойства полей. Установление первичного ключа. Способы удаления и переименования таблиц. Возможности записей с помощью фильтров. Запрос на выборку.
лабораторная работа [1,2 M], добавлен 15.01.2009Техника создания списков, свободных таблиц и диаграмм в среде табличного процессора Microsoft Excel. Технология создания базы данных в среде СУБД Microsoft Access. Приобретение навыков подготовки и демонстрации презентаций в среде Microsoft Power Point.
лабораторная работа [4,8 M], добавлен 05.02.2011Принципы работы с реляционными базами данных в среде Microsoft Access. Основные положения базы данных Access. Составление таблиц, запросов, отчетов, страниц и модулей. Основные структуры представления базы данных. Определение связей между таблицами.
контрольная работа [2,6 M], добавлен 03.04.2014