Главная страница

Отчёт по практике ГОСТИНИЦА. УП. База данных (БД)


Скачать 423.49 Kb.
НазваниеБаза данных (БД)
АнкорОтчёт по практике ГОСТИНИЦА
Дата05.04.2022
Размер423.49 Kb.
Формат файлаdocx
Имя файлаУП .docx
ТипДокументы
#445724
страница1 из 2
  1   2

ВВЕДЕНИЕ
База данных (БД) – это совокупность массивов и файлов данных, организованная по определённым правилам, предусматривающим стандартные принципы описания, хранения и обработки данных независимо от их вида.

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

Система управления базами данных, сокр. СУБД (англ. Database Management System DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

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

1) непосредственное управление данными во внешней памяти;

2) управление буферами оперативной памяти (Управление данными в оперативной памяти с использованием дискового кэша);

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

4) журнализация.

Доступ к данным СУБД осуществляется посредством специального языка SQL.

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

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

Основные задачами практики является:

  1. Определение цели автоматизации информационных процессов, определение входных и выходных данных.

  2. Подготовка технического задания.

  3. Определение информационных объектов и связей между ними.

  4. Создание таблиц базы данных и определение связей между ними.

  5. Разработка экранных форм.

  6. Разработка запросов.

  7. Создание отчетов.



  1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ




    1. Базовые принципы информационного обмена в сетях


Чтобы компьютер мог обмениваться информацией, необходимо определить способ этого общения – протокол. В настоящее время в сети интернет принят TCP/IP версии 4, на подходе версия 6. В версии 4 адрес компьютера задаётся двенадцатью цифрами, которые обычно располагаются группами по три (10.8.3.21 = 010.008.003.021). Каждому сетевому интерфейсу соответствует один сетевой адрес (и неограниченное количество псевдонимов/алиасов). На одном физическом устройстве можно организовать более одного сетевого интерфейса.

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

Также существует два подвида IP протоколов – UDP и TCP. По протоколу UDP не производится контроль корректности передачи данных, используется чаще в работе служб.

Что происходит, когда пользователь пытается посетить страничку google.com.ua? Web-браузер открывает динамический порт и с него отправляет сетевой пакет с запросом на установку соединения. В заголовке пакета находятся сетевой адрес Google и стандартный порт веб-сервера - 209.85.229.104:80 (443). Веб-сервер Google держит открытым порт 80 (443) и прослушивает его. Ваш браузер подключается, и дальнейший обмен сетевыми пакетами будет происходить между пользовательским динамическим и google-овским 80 (443) портами.

Все очень просто и надежно. В этом примере видно, что сервис (веб-сервер) может открывать и прослушивать порты. При получении пакета он начинает действовать. Если это сервис злоумышленника (например, бэкдор/backdoor), некто может получить доступ к Вашему компьютеру. Если это нормальный, штатный сервис, имеющий уязвимости, то с помощью специально сконфигурированного запроса можно нарушить его работу или даже получить контроль над компьютером пользователя. Также очевидно, что программа может открыть динамический порт (или много динамических портов) и установить соединение с каким-то сервером/компьютером, что тоже может быть спровоцировано неизвестным злоумышленником. Налицо необходимость контролировать порты и обращение программ к сетевым интерфейсам. Для этого и служат сетевые экраны.
1.2 Основные телекоммуникационные протоколы
Обычно анализ стеков коммуникационных протоколов начинают — и не без основания — с рассмотрения семиуровневой модели взаимодействия открытых систем (Open System Interconnection, OSI), которую Международная организация по стандартизации ISO разработала совместно с сектором телекоммуникаций Международного союза электросвязи ITU-T. Конечно, современные принципы построения сетей связи можно изучать по стекам протоколов SNA от IBM или TCP/IP, появившихся раньше модели OSI. Однако при всей своей эффективности применительно к решаемым ими задачам указанные сетевые архитектуры характеризуются существенно большей сложностью по сравнению с моделью OSI. Поэтому модель OSI по-прежнему остается прекрасным пособием для изучения основ архитектуры телекоммуникационных сетей, хотя и не получила того распространения, на которое надеялись ее создатели.

Главная особенность модели OSI — в ее открытости. Это означает, что соответствующий стандартизованный набор протоколов гарантирует возможность взаимодействия оборудования различных производителей, что, надо сказать, жизненно необходимо не только для производителей оборудования и программного обеспечения, но и для операторов связи, провайдеров услуг и пользователей, поскольку резко упрощает процедуру оснащения сетей.

Модель OSI была разработана в 1970-е гг. с учетом опыта, накопленного при создании компьютерных сетей, в основном глобальных. Поэтому областью ее применения, строго говоря, являются пакетные сети передачи данных.

Уровни модели OSI и их основные функции.

Прикладной уровень (Application Layer) предоставляет услуги непосредственно пользовательским прикладным программам. Он обеспечивает набор открытых и стандартных интерфейсов прикладного программирования (Application Programming Interface, API). Реализация прикладного уровня.

Презентационный уровень (Presentation Layer) выполняет преобразование данных общего характера. Одна из услуг этого уровня — шифрование, которое обеспечивает информационную безопасность. В частности, в программном обеспечении серверов Web предусмотрены протоколы шифрования для защиты финансовой информации клиентов.

Сеансовый уровень (Session Layer) предоставляет дополнительные услуги транспортному уровню в сеансах с предварительным установлением соединения. Кроме управления диалогом важнейшими функциями этого уровня являются организация и завершение сеанса и синхронизация. В соединениях без предварительного установления соединения услуги сеансового уровня оказываются невостребованными.

Транспортный уровень (Transport Layer) выполняет свободную от ошибок, ориентированную на работу с сообщениями сквозную передачу, причем он обязан поддерживать эту функцию независимо от надежности нижележащего уровня. Особенно ненадежным нижележащий уровень оказывается при пакетной передаче без установления соединения. В этом случае транспортный уровень должен быть достаточно сложным, чтобы компенсировать слабые стороны нижележащего уровня.

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

Канальный уровень (Data Link Layer) должен обеспечить доставку данных без ошибок для сетевого уровня. Таким образом, его основная задача — выявление и устранение ошибок физического уровня. Информация на канальном уровне, в отличие от физического, передается в структурированном ви-де — кадрами. Способ исправления ошибок канальным уровнем зависит от типа физического канала. Прямое исправление основано на включении в кадр дополнительной информации. Ошибки устраняются посредством протоколов верхних уровней. Протоколы, использующие такой метод, рассчитаны на высококачественные физические каналы с малой вероятностью ошибок, к которым, в частности, относится волоконно-оптический кабель.

Физический уровень (Physical Layer) выполняет передачу бит данных. Главное его отличие от остальных уровней модели OSI заключается в том, что только он одновременно как необходим, так и достаточен для обмена данными между двумя точками.


    1. Приемы конфигурирования сетей


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

IP-адрес. Это уникальный адрес компьютера в формате четырех трехзначных десятичных чисел, разделенных точками, например, 128.253.153.54. Этот набор чисел должен предоставить системный администратор.

Если конфигурируется только режим работы с заглушкой (loopback mode), т.е. когда нет подключения SLIP и нет адаптера Ethernet, а только моделируется подключение TCP/IP компьютера к самому себе, то IP-адресом будет 127.0.0.1.

Маска имен в сети ("netmask"). Формат маски аналогичен формату IP-адреса. Маска определяет, какая часть IP-адреса соответствует номеру локальной (под)сети (subnetwork number), а какая -- номеру компьютера в сетиgif. Маска представляет собой битовый шаблон. При наложении этого шаблона на адрес компьютера (хоста) можно узнать номер того участка сети, к которому относится этот адрес. Это очень важно для рассылки сообщений, поэтому если вдруг окажется, например, что можно установить связь с кем-либо вне локальной сети, а внутри сети такая связь не устанавливается, то может оказаться, что маска указана неверно.

Маска выбиралась администратором сети при ее проектировании, поэтому он должен ее точно знать. Большинство локальных сетей имеют класс C и используют маску 255.255.255.0. Сети класса B имеют маску 255.255.0.0. Программа NET-3 выбирает маску автоматически, предполагая по умолчанию, что подсети отсутствуют, если они не указаны

То же относится и к адресу заглушки. Поскольку адрес в этом случае всегда 127.0.0.1, то и маска всегда 255.0.0.0. Это можно указать явно или положиться на маску, даваемую по умолчанию. Адрес сети (network address). Это адрес является результатом побитовой операции "И" двух аргументов: IP-адреса компьютера и маски. Например, если маска имеет вид 255.255.255.0, IP-адрес равняется 128.253.154.32, то адрес сети будет 128.253.154.0. Если маска равняется 255.255.0.0, то адрес сети будет равняться 128.253.0.0.

При использовании только заглушки сетевой адрес отсутствует.

Широковещательный адрес (broadcast address). Этот адрес используется для трансляции пакетов сообщений по всем компьютерам, объединенным в (под)сеть. Следовательно, если IP-адрес компьютера в сети определяется последним байтом (иными словами, если маска равна 255.255.255.0), то широковещательный адрес является результатом побитовой операции "ИЛИ" выражения 0.0.0.255 с IP-адресом компьютера. Например, если IP-адрес компьютера 128.253.154.32, а маска 255.255.255.0, то широковещательный адрес будет равен 128.253.154.255.

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

При использовании только заглушки широковещательный адрес отсутствует.

Адрес шлюза (gateway address). Это адрес компьютера, который является действительно "шлюзом" во внешний мир (т.е. к компьютерам вне локальной сети). Во многих случаях адрес шлюза получается из IP-адреса компьютера заменой последних групп цифр на ".1". Например, если IP-адрес компьютера равняется 128.253.154.32, то адрес шлюза может иметь значение 128.253.154.1. Это значение может также сообщить системный администратор.

Реально шлюзов может быть несколько. В действительности шлюз -- это компьютер, который находится в двух различных сетях (т.е. имеет IP-адреса в различных подсетях). Шлюз занимается тем, что пересылает пакеты сообщений между этими двумя сетями. Многие сети имеют единственный шлюз во "внешний мир" (который представляет собой непосредственно примыкающую сеть). Однако в некоторых случаях к локальной сети примыкает несколько других сетей, и для каждой из них имеется свой шлюз.

При использовании только заглушки адрес шлюза отсутствует. То же верно и в случае, когда локальная сеть изолирована от всех остальных.

Адрес сервера имен в сети (name server address). У большинства компьютеров в сети имеется сервер, который преобразует имя компьютера в IP-адрес. Адрес этого сервера должен сообщить администратор сети. Такой сервер можно также запустить на собственном компьютере (программа называется named); в этом случае адрес сервера имен в сети равняется 127.0.0.1. Кроме тех случаев, когда абсолютно необходимо иметь собственный сервер имен, лучше воспользоваться тем, который имеется (если имеется). Совершенно отдельный вопрос -- конфигурирование программы named. Сейчас он рассматриваться не будет, поскольку цель данного раздела -- дать возможность приступить к работе в сети. Вопросы, касающиеся имен в сети, будут рассмотрены позднее.

При использовании только заглушки адрес сервера имен отсутствует.

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

В реализации NET-3 заложена полная маршрутизация (full routing), поддерживаются множественные маршруты и подсети (последние -- на данный момент только по границам байта), и тому подобное. Приведенное выше иллюстрирует только принципиальные основы построения сетей TCP/IP. Конкретная сеть может обладать рядом особенностей; выяснить их можно у администратора сети. Также полезно будет почитать экранную документацию к программам route и ifconfig. Конфигурирование сетей TCP/IP лежит далеко за пределами темы данной книги, однако приведенное рассмотрение должно дать достаточно информации, чтобы пользователь смог выяснить остальное самостоятельно.


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


Реляционная модель данных - созданная Эдгаром Коддом логическая модель данных, описывающая:

  • структуры данных в виде (изменяющихся во времени) наборов отношений;

  • теоретико-множественные операции над данными: объединение, пересечение разность и декартово произведение;

  • специальные реляционные операции: селекция, проекция, соединение и деление;

  • специальные правила, обеспечивающие целостность данных.

Реляционная модель данных - это способ рассмотрения данных, то есть предписание для способа представления данных (посредством таблиц) и для способа работы с таким представлением (посредством операторов). Она связана с тремя аспектами данных: структурой (объекты), целостностью и обработкой данных (операторы).

Цели создания реляционной модели данных:

  • обеспечение более высокой степени независимости от данных;

  • создание прочного фундамента для решения семантических вопросов и проблем непротиворечивости и избыточности данных;

  • расширение языков управления данными за счёт включения операций над множествами.

Структура данных в реляционной модели данных

Реляционная модель данных предусматривает структуру данных, обязательными объектами которой являются:

  • отношение;

  • атрибут;

  • домен;

  • кортеж;

  • степень;

  • кардинальность;

  • первичный ключ.




    1. Проектирование баз данных


Существует много разновидностей методологии рассмотрения баз данных в классическом подходе, однако чаще всего придерживаются методологии ANSI/SPARC.

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

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

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

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

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

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

Транзакция - процесс изменения файла, записи или базы данных, вызванный передачей одного входного сообщения.

На этапе физического проектирования решаются вопросы, связанные с производительностью системы, определяются структуры хранения данных и методы доступа.

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

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


    1. СУБД MS Access


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

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

2. Запрос. Объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк QBE (запрос по образцу) или инструкции SQL (структурированный язык запросов). Можно создать запросы на выборку, обновление, удаление или добавление данных. С помощью запросов можно также создавать новые таблицы, используя данные из одной или нескольких существующих таблиц.

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

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

5. Макрос. Объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить Access в ответ на определенное событие. Например, можно определить макрос, который в ответ на выбор некоторого элемента в основной форме открывает другую форму. С помощью другого макроса можно осуществлять проверку значения некоторого поля при изменении его содержимого. В макрос можно включить дополнительные условия для выполнения или невыполнения тех или иных указанных в нем действий. Из одного макроса можно также запустить другой макрос или процедуру VBA.

6. Модуль. Объект, содержащий программы, написанные на языке Visual Basic для приложений. Модули могут быть независимыми объектами, содержащими функции, вызываемые из любого места приложения, но они могут быть и непосредственно "привязаны" к отдельным формам или отчетам для реакции на те или иные происходящие в них изменения.

7. Страницы доступа. Страницы - служат для обеспечения доступа к данным, содержащимся в базе, удалённой от потребителя (например, через Интернет).
1.7 Язык SQL
SQL (обычно произносимый как "СИКВЭЛ" или "ЭСКЮЭЛЬ") символизирует собой Структурированный Язык Запросов. Это - язык, который дает Вам возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.

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

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

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

Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (Международной Организацией по Стандартизации). Однако, большинство коммерческих программ баз данных расширяют SQL без уведомления ANSI, добавляя различные особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств

На данном уроке мы будем, в основном, следовать стандарту ANSI, но одновременно иногда будет показывать и некоторые наиболее общие отклонения от его стандарта.

Точное описание особенностей языка приводится в документации на СУБД, которую Вы используете. SQL системы InterBase 4.0 соответствует стандарту ANSI-92 и частично стандарту ANSI-III.

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде.

Поэтому, в язык SQL в качестве составных частей входят:

язык манипулирования данными (Data Manipulation Language, DML)

язык определения данных (Data Definition Language, DDL)

язык управления данными (Data Control Language, DCL).

Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT (выбрать)

INSERT (вставить)

UPDATE (обновить)

DELETE (удалить)

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

CREATE DATABASE (создать базу данных)

CREATE TABLE (создать таблицу)

CREATE VIEW (создать виртуальную таблицу)

CREATE INDEX (создать индекс)

CREATE TRIGGER (создать триггер)

CREATE PROCEDURE (создать сохраненную процедуру)

ALTER DATABASE (модифицировать базу данных)

ALTER TABLE (модифицировать таблицу)

ALTER VIEW (модифицировать виртуальную таблицу)

ALTER INDEX (модифицировать индекс)

ALTER TRIGGER (модифицировать триггер)

ALTER PROCEDURE (модифицировать сохраненную процедуру)

DROP DATABASE (удалить базу данных)

DROP TABLE (удалить таблицу)

DROP VIEW (удалить виртуальную таблицу)

DROP INDEX (удалить индекс)

DROP TRIGGER (удалить триггер)

DROP PROCEDURE (удалить сохраненную процедуру)

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать "язык управления доступом". Он состоит из двух основных команд:

GRANT (дать права)

REVOKE (забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

  • интерактивный SQL

  • встроенный SQL.


1.7.1 Отличие SQL от процедурных языков программирования
Язык SQL относится к классу непроцедурных языков программирования. В отличие от универсальных процедурных языков, которые также могут быть использованы для работы с базами данных, язык SQL ориентирован не на записи, а на множества.

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

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

Следует отметить, что определение типов данных является той частью, в которой коммерческие реализации языка не полностью согласуются с требованиями официального стандарта SQL. Это объясняется, в частности, желанием сделать SQL совместимым с другими языками программирования.
1.7.2 Типы данных SQL
Типы текстовых данных

CHAR(size) . Удерживает строку фиксированной длины (может содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Может хранить до 255 символов

VARCHAR(size). Удерживает строку переменной длины (может содержать буквы, цифры и специальные символы). Максимальный размер указан в скобках. Может хранить до 255 символов. Если вы ставите большее значение, чем 255, оно будет преобразовано в тип TEXT

TINYTEXT . Удерживает строку длиной не более 255 символов

TEXT. Удерживает строку с максимальной длиной 65535 символов

BLOB. Для BLOB (Binary Large OBjects). Сохраняет до 65535 байт данных

MEDIUMTEXT. Удерживает строку с максимальной длиной 16,777,215 символов

MEDIUMBLOB. Для BLOB (Binary Large OBjects). Удерживает до 16 777 215 байт данных

LONGTEXT. Удерживает строку с максимальной длиной 4 294 967 295 символов

LONGBLOB. Для BLOB (Binary Large OBjects). Сохраняет до 4 294 967 295 байтов данных

Типы числовых данных

TINYINT(size). От -128 до 127. От 0 до 255 UNSIGNED *. Максимальное количество цифр может быть указано в круглых скобках

SMALLINT(size). От 32768 до 32767 нормально. 0 до 65535 UNSIGNED*. Максимальное количество цифр может быть указано в скобках

MEDIUMINT(size). 8388608 до 8388607 normal. 0 до 16777215 UNSIGNED*. Максимальное количество цифр может быть указано в скобках

INT(size). 2147483648 до 2147483647 normal. 0 до 4294967295 UNSIGNED*. Максимальное количество цифр может быть указано в скобках

BIGINT(size). 9223372036854775808 до 9223372036854775807 normal. 0 до 18446744073709551615 UNSIGNED *. Максимальное количество цифр может быть указано в скобках

FLOAT(size,d). Небольшое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d

DOUBLE(size,d). Большое число с плавающей запятой. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре d

DECIMAL(size,d) DOUBLEхранится как строка, позволяющая фиксированную десятичную точку. Максимальное количество цифр может быть указано в параметре размера. Максимальное количество цифр справа от десятичной точки указано в параметре.

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

Тип даты

DATE (). Формат даты: YYYY-MM-DD

DATETIME (). Формат даты и времени: YYYY-MM-DD HH:MI:SS

TIMESTAMP (). Количество секунд с момента Unix ('1970-01-01 00:00:00' UTC). Формат даты: YYYY-MM-DD HH:MI: SS

TIME (). Формат времени: HH:MI: SS

YEAR (). Год.
1.7.3 Синтаксис SELECT-запроса
Одна из основных функций SQL — получение данных из СУБД. Для построения всевозможных запросов к базе данных используется оператор SELECT. Он позволяет выполнять сложные проверки и обработку данных.

Общая структура запроса

MySQL

SELECT [DISTINCT | ALL] поля_таблиц

FROM список_таблиц

[WHERE условия_на_ограничения_строк]

[GROUP BY условия_группировки]

[HAVING условия_на_ограничения_строк_после_группировки]

[ORDER BY порядок_сортировки [ASC | DESC]]

[LIMIT ограничение_количества_записей.
1.7.4 Агрегирование и групповые функции
Агрегирующие функции позволяют получать из таблицы сводную (агрегированную) информацию, выполняя операции над группой строк таблицы. Для задания в SELECT-запросе агрегирующих операций

Используются следующие ключевые слова:

COUNT - определяет количество строк или значений поля, выбранных посредством запроса, и не являющихся NULL-значениями;

SUM - вычисляет арифметическую сумму всех выбранных значений данного поля;

AVG - вычисляет среднее значение для всех выбранных значений данного поля;

MAX - вычисляет наибольшее из всех выбранных значений данного поля;

MIN - вычисляет наименьшее из всех выбранных значений данного поля.

В SELECT - запросе агрегирующие функции используются аналогично именам полей, при этом последние (имена полей) используются в качестве аргументов этих функций.

Функция AVG - предназначена для подсчета среднего значения поля на множестве записей таблицы.
1.7.5 Упорядочение выходных полей
Для упорядочения записей используется оператор ORDER BY. При этом можно задать возрастающую (ASC) или убывающую (DESC) последовательность сортировки для каждого из столбцов. По умолчанию принята возрастающая последовательность сортировки.

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

SELECT*

FROMSUBJECT

ORDER BYSUBJ_NAME;

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

SELECT*

FROMSUBJECT

ORDER BYSUBJ_NAME DESC;

Вывести список предметов обучения по значениям семестров, а внутри семестров – по наименованиям предметов.

SELECT*

FROMSUBJECT

ORDER BYSEMESTR, SUBJ_NAME;

Предложение ORDER BY может использоваться с GROUP BY для упорядочивания групп записей. При этом оператор ORDER BY в запросе всегда должен быть последним.
1.7.6 Создание объектов базы данных
Создание таблицы. Для создания таблицы в SQL служит команда CREATE TABLE. Синтаксис варианта команды CREATE TABLE:

CREATE TABLE <Имя таблицы>

(<имя поля> <тип данных> [(<размер>)],

<имя поля> <тип данных> [(<размер>] ...).

Внесение изменений в структуру таблицы делается с помощью команды ALTER TABLE, имеющей следующий синтаксис:

ALTER TABLE <имя таблицы> {ADD {COLUMN <имя поля> <тип поля> [(<размер>)] [NOT NULL] [CONSTRAINT <имя индекса>] |

ALTER COLUMN <имя поля> <тип поля> [(<размер>)]|

CONSTRAINT <описание составного индекса>} |

Для создания ограничения внешнего ключа после FOREIGN KEY указывается столбец таблицы, который будет представляет внешний ключ. А после ключевого слова REFERENCES указывается имя связанной таблицы, а затем в скобках имя связанного столбца, на который будет указывать внешний ключ. После выражения REFERENCES идут выражения ON DELETE и ON UPDATE, которые задают действие при удалении и обновлении строки из главной таблицы соответственно. Синтаксис:

[CONSTRAINT имя_ограничения]

FOREIGN KEY (столбец1, столбец2, ... столбецN)

REFERENCES главная_таблица (столбец_главной_таблицы1, столбец_главной_таблицы2, ... столбец_главной_таблицыN)

[ON DELETE действие]

[ON UPDATE действие].
1.7.7 Манипулирование данными
Базовым средствам манипулирования данными языка SQL относятся "поисковые" варианты операторов UPDATE и DELETE. Эти варианты называются поисковыми, потому что при задании соответствующей операции задается логическое условие, налагаемое на строки адресуемой оператором таблицы, которые должны быть подвергнуты модификации или удалению. Кроме того, в такую категорию языковых средств входит оператор INSERT, позволяющий добавлять строки в существующие таблицы.


  1. ПРАКТИЧЕСКАЯ ЧАСТЬ




    1. Подготовка технического задания




      1. Общие сведения о системе




        1. Наименование программы


Полное наименование – Гостиница


        1. Основные для проведения работ


Основанием для проведения работ по созданию автоматизированной системы, предусмотрены в настоящем ТЗ, является документы:

Задание на производственную практику ПМ 02. Разработка и администрирование баз данных от 02.10.21.
2.1.2 Плановые сроки начала и окончания разработки
Начало разработки – 02.10.21

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

2.1.4 Информационные объекты
Информационными объектами проекта являются:

  1. Таблицы:

  • клиенты;

  • номера;

  • поселение;

  • тип номера.

  1. Запросы:

  • всего по каждому клиенту;

  • клиенты с детьми;

  • кол-во бронирований;

  • поиск отдыхающего по номеру;

  • стоимость бронирования;

  • максимальная стоимость бронирования;

  • минимальная стоимость бронирования;

  • повышение стоимости;

  • создание таблицы;

  • удаление клиента из базы;

3) Отчёты:

  • всего по каждому клиенту;

  • клиенты с детьми;

  • кол-во бронирований;

  • стоимость бронирования;

4) Формы:

  • брони;

  • клиенты;

  • кнопочная форма;

  • номера;

  • ТипНомера;

2.1.5 Входные и выходные
Входными данными таблицы является:

Таблицы:

  • клиенты;

  • номера;

  • поселение;

  • тип номера.

Выходными данными таблицы является:

  • запросы;

  • отчёты.




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


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

  • код клиента;

  • ФИО;

  • ребёнок.

Таблица «Клиенты» изображена на рисунке 1.
  1   2


написать администратору сайта