Автоматизированное рабочее место отдела кадров предприятия
Принципы построения автоматизированных рабочих мест, локальных сетей и технологии клиент-сервер. Общее описание созданной программы, инструкция по вводу в эксплуатацию и работе с ней. Затраты на разработку программы, полученные методом калькуляции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.05.2012 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Наименьшая единица данных реляционной модели - это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой - как три различных значения.
Доменом называется множество атомарных значений одного и того же типа. Смысл доменов состоит в следующем. Если значения двух атрибутов берутся из одного и того же домена, то, вероятно, имеют смысл сравнения, использующие эти два атрибута (например, для организации транзитного рейса можно дать запрос "Выдать рейсы, в которых время вылета из Москвы в Сочи больше времени прибытия из Архангельска в Москву"). Если же значения двух атрибутов берутся из различных доменов, то их сравнение, вероятно, лишено смысла: стоит ли сравнивать номер рейса со стоимостью билета?
Заголовок состоит из такого фиксированного множества атрибутов A1, A2, ..., An, что существует взаимно однозначное соответствие между этими атрибутами Ai и определяющими их доменами Di (i=1,2,...,n).
Тело состоит из меняющегося во времени множества кортежей, где каждый кортеж состоит в свою очередь из множества пар атрибут-значение (Ai:Vi), (i=1,2,...,n), по одной такой паре для каждого атрибута Ai в заголовке. Для любой заданной пары атрибут-значение (Ai:Vi) Vi является значением из единственного домена Di, который связан с атрибутом Ai.
Степень отношения - это число его атрибутов. Отношение степени один называют унарным, степени два - бинарным, степени три - тернарным, ..., а степени n - n-арным.
Кардинальное число или мощность отношения - это число его кортежей. Кардинальное число отношения изменяется во времени в отличие от его степени.
Поскольку отношение - это множество, а множества по определению не содержат совпадающих элементов, то никакие два кортежа отношения не могут быть дубликатами друг друга в любой произвольно-заданный момент времени. Пусть R - отношение с атрибутами A1, A2, ..., An. Говорят, что множество атрибутов K=(Ai, Aj, ..., Ak) отношения R является возможным ключом R тогда и только тогда, когда удовлетворяются два независимых от времени условия:
Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
Минимальность: ни один из атрибутов Ai, Aj, ..., Ak не может быть исключен из K без нарушения уникальности.
Каждое отношение обладает хотя бы одним возможным ключом, поскольку по меньшей мере комбинация всех его атрибутов удовлетворяет условию уникальности. Один из возможных ключей (выбранный произвольным образом) принимается за его первичный ключ. Остальные возможные ключи, если они есть, называются альтернативными ключами.
Вышеупомянутые и некоторые другие математические понятия явились теоретической базой для создания реляционных СУБД, разработки соответствующих языковых средств и программных систем, обеспечивающих их высокую производительность, и создания основ теории проектирования баз данных. Однако для массового пользователя реляционных СУБД можно с успехом использовать неформальные эквиваленты этих понятий:
Отношение-Таблица(иногдаФайл),Кортеж - Строка (иногда Запись), Атрибут - Столбец, Поле. При этом принимается, что "запись" означает "экземпляр записи", а "поле" означает "имя и тип поля".
Реляционная база данных - это совокупность отношений, содержащих всю информацию, которая должна храниться в БД. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц
1.2.5 О нормализации, функциональных и многозначных зависимостях
Нормализация - это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных. Окончательная цель нормализации сводится к получению такого проекта базы данных, в котором каждый факт появляется лишь в одном месте, т.е. исключена избыточность информации. Это делается не столько с целью экономии памяти, сколько для исключения возможной противоречивости хранимых данных.
Как указывалось ранее, каждая таблица в реляционной БД удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное атомарное значение, и никогда не может быть множества таких значений. Любая таблица, удовлетворяющая этому условию, называется нормализованной. Фактически, ненормализованные таблицы, т.е. таблицы, содержащие повторяющиеся группы, даже не допускаются в реляционной БД.
Всякая нормализованная таблица автоматически считается таблицей в первой нормальной форме, сокращенно 1НФ. Таким образом, строго говоря, "нормализованная" и "находящаяся в 1НФ" означают одно и то же. Однако на практике термин "нормализованная" часто используется в более узком смысле - "полностью нормализованная", который означает, что в проекте не нарушаются никакие принципы нормализации. Дадим точные определения наиболее распространенных форм нормализации.
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.
Таким образом, каждая нормальная форма является в некотором смысле более ограниченной, но и более желательной, чем предшествующая. Это связано с тем, что "(N+1)-я нормальная форма" не обладает некоторыми непривлекательными особенностями, свойственным "N-й нормальной форме". Общий смысл дополнительного условия, налагаемого на (N+1)-ю нормальную форму по отношению к N-й нормальной форме, состоит в исключении этих непривлекательных особенностей.
Теория нормализации основывается на наличии той или иной зависимости между полями таблицы. Определены два вида таких зависимостей: функциональные и многозначные.
Функциональная зависимость. Поле В таблицы функционально зависит от поля А той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля А обязательно существует только одно из различных значений поля В. Отметим, что здесь допускается, что поля А и В могут быть составными.
Полная функциональная зависимость. Поле В находится в полной функциональной зависимости от составного поля А, если оно функционально зависит от А и не зависит функционально от любого подмножества поля А.
Многозначная зависимость. Поле А многозначно определяет поле В той же таблицы, если для каждого значения поля А существует хорошо определенное множество соответствующих значений В.
1.3 Технология Клиент-Сервер
1.3.1 Основные понятия
Главная мысль, заложенная в эту технологию - минимизировать объем данных, передаваемых по сети, поскольку основные потери времени и сбои происходят именно из-за недостаточно высокой пропускной способности сети.
Очень многие СУБД разделяют свою работу на два уровня по системе "Клиент-Сервер". С точки зрения исполнения программа разделена на 2 части - клиентскую и серверную. На клиентской части (компьютере) происходит контакт с внешним миром. На компьютере-сервере расположены общие для всех клиентов данные и работает специальная программа - сервер баз данных, оптимизирующая выполнение запросов клиентов.
Итак, двухуровневая система "Клиент-Сервер" это:
Клиент - Программа обработки, она же пользовательская, она же прикладная программа. Занимается обычно интерфейсом с пользователем, а всю фактическую работу с базой данных возлагает на плечи БД-сервера.
Сервер Базы Данных - базис (database engine), он же ядро базы данных. Отдельная программа, выполняемая как отдельный процесс. Передает выбранную из базы информацию по межпроцессному каналу клиенту. Именно он, и только он фактически работает с данными, занимается их размещением на диске.
1.3.2 Преимущества архитектуры клиент-сервер
В первый момент может возникнуть вопрос, а зачем такие сложности? Вот несколько соображений в пользу такого подхода.
Несомненным преимуществом является приближенность данных к процессам вычисления. Практически, все расчеты выполняются на сервере, что увеличивает быстродействие в десятки и сотни раз.
Технология клиент-сервер в отличие от файл-серверной дает пользователю большую безопасность, устойчивость, согласованность, масштабируемость, повышенную конфиденциальность и надежность обработки и хранения информации. Развитие систем с архитектурой клиент-сервер в немалой степени обязано проверенному факту: подключение к недорогим серверам недорогих ПК позволяет получить оптимальное соотношение цены и производительности.
В большинстве случаев программа обработки (клиентская часть) расположена на одном компьютере, а сама база данных хранится на другом. Тут разделение выглядит совершенно естественным: Программа - клиент (точнее, та ее часть, которая отвечает за интерфейс с пользователем), передает по сети запросы на обработку самих данных на другой компьютер, а там БД-сервер их прочитывает, выполняет требуемое, и по сети возвращает готовые ответы клиенту. При этом по сети передается только полезная информация.
Другое соображение: постоянно идет работа по совершенствованию самого метода хранения и обработки информации, и если его реализация (т.е. БД-сервер) сменилась, то не потребуется перекомпилировать с новыми библиотеками все разработанные программы, а достаточно будет инсталлировать новый БД-сервер взамен старого и перевести базы данных в формат нового сервера (применив для этого прилагаемую к нему утилиту). Естественно, все это можно проделать, если новый сервер придерживается тех же правил обмена между ним и пользовательской программой, что и старый, что, впрочем, наверняка имеет место.
Используя множество небольших компьютеров, разработчики систем клиент-сервер могут эмулировать вычислительную мощность больших ЭВМ, распределяя прикладную задачу по различным микрокомпьютерам и серверам. Каждый из них берет на себя свою часть вычислительной нагрузки, используя информацию совместно с другими процессорами сети. Суть идеи в том, чтобы повысить мощность системы, не наращивая производительность одного компьютера, а суммируя средства многих.
Быстродействие - основной фактор целесообразности разработки систем для архитектуры клиент-сервер . Применение средств быстрой разработки программ (Rapid Application Development - RAD), таких, как Delphi компании Borland, PowerBuilder фирмы PowerSoft и Visual Basic корпорации Microsoft, позволяет разработчикам "штамповать" прикладные системы для архитектуры клиент-сервер в рекордно короткие сроки. Технология серверов баз данных также становится проще в использовании и сочетается в одних системах со средствами RAD. Таким образом, с помощью этой скоростной и практически защищенной от "дурака" платформы разработки сокращается время, необходимое для подготовки и передачи прикладной программы пользователю.
В заключение стоит отметить что архитектура клиент-сервер предоставляет разработчикам ПО исключительную свободу выбора и согласования различных типов компонентов для клиента, сервера и всех промежуточных звеньев.
Наиболее простая (и рассматриваемая в контексте данной дипломной работы) форма архитектуры клиент-сервер - это разделение вычислительной нагрузки между двумя отдельными процессами: клиентом и сервером. Хотя и клиент, и сервер могут находиться на одном и том же компьютере, большинство систем этой архитектуры запускают клиентский процесс на одном компьютере, а процесс-сервер на другом, используя для обмена информацией сетевые связи. В этой модели один процесс может работать независимо от другого, выполнять определенные задания и разделять вычислительную нагрузку.
Обычно клиентом служит настольный ПК, выполняющий программное обеспечение конечного пользователя. программное обеспечение (ПО) конечного пользователя (front-end software) - это любая прикладная программа или пакет, способные направлять запросы по сети серверу и обрабатывать получаемую в ответ информацию. Сервер, в свою очередь, получает запросы и предпринимает действия от имени клиента.
ПК, работающий под управлением Windows 95 и выполняющий программу клиент-сервер Delphi, например, может представить на рассмотрение запрос серверу баз данных (скажем, программе InterBase 5.1.1, запущенной на сервере Windows NT). Обычно клиент посылает запросы базе данных в виде предложений на языке структурированных запросов (SQL), используя понятный серверу базы данных диалект.
1.3.3 Компоненты архитектуры Клиент-сервер
Существуют три основных программных компонента архитектуры клиент-сервер: ПО конечного пользователя, промежуточное обеспечение,
ПО сервера. К ПО конечного пользователя относятся средства разработки программ и генераторы отчетов, в том числе электронные таблицы и текстовые процессоры. С помощью этого ПО пользователи устанавливают связь с серверами, отправляют на рассмотрение серверу запросы и получают ответную информацию.
Промежуточное обеспечение (middleware) предоставляет общий интерфейс для ПО конечного пользователя и сервера, проникающий сквозь сквозь слои GUI (графический интерфейс пользователя), ОС, вычислительной сети и собственных драйверов базы данных с помощью общих вызовов. Для завершения операции сервер базы данных выполняет запрос и передает клиенту затребованные данные для обработки их программой клиента.
Под ПО сервера подразумевается операционная система и конкретный сервер БД, используемый для обработки запросов клиентской части информационной системы.
Серверы баз данных занимаются не только обслуживанием данных. В них предусмотрены также механизмы блокировок и элементы управления многопользовательским доступом, которые обеспечивают защиту данных от опасности параллельного доступа. Кроме этого, серверу баз данных приходится ограждать данные от несанкционированного доступа, оптимизировать запросы к базе данных, обеспечивать кэширование и предоставлять место для размещения словаря данных.
Две другие важные особенности, на которые стоит обратить внимание, - способность сервера обеспечивать целостность ссылочных данных и обоюдный контроль завершения транзакции. Ссылочная целостность данных (referential integrity) - это механизм, обеспечивающий каждому внешнему ключу соответствующий первичный ключ. Обоюдный контроль завершения транзакций (two-phase commit) - гарантия того, что ваши данные не будут повреждены даже при аппаратном сбое.
С помощью хранимых процедур, триггеров и правил разработчики могут составить программу непосредственно самого сервера баз данных и, таким образом, появляется еще одно место для размещения логики программы. Хранимые процедуры (stored procedures) - это группа предложений на языке SQL и процедурная логика, которые разработчики могут компилировать и хранить на сервере баз данных в качестве объектов. Программы-клиенты способны выполнять хранимые процедуры, также как и другой вид хранимых процедур или триггеров, путем посылки сообщений серверу баз данных.
Реальное распространение архитектуры "клиент-сервер" стало возможным благодаря развитию и широкому внедрению в практику концепции открытых систем. Поэтому мы начнем с краткого введения в открытые системы.
Основным смыслом подхода открытых систем является упрощение комплексирования вычислительных систем за счет международной и национальной стандартизации аппаратных и программных интерфейсов. Главной побудительной причиной развития концепции открытых систем явились повсеместный переход к использованию локальных компьютерных сетей и те проблемы комплексирования аппаратно-программных средств, которые вызвал этот переход. В связи с бурным развитием технологий глобальных коммуникаций открытые системы приобретают еще большее значение и масштабность.
Ключевой фразой открытых систем, направленной в сторону пользователей, является независимость от конкретного поставщика. Ориентируясь на продукцию компаний, придерживающихся стандартов открытых систем, потребитель, который приобретает любой продукт такой компании, не попадает к ней в рабство. Он может продолжить наращивание мощности своей системы путем приобретения продуктов любой другой компании, соблюдающей стандарты. Причем это касается как аппаратных, так и программных средств и не является необоснованной декларацией. Реальная возможность независимости от поставщика проверена в отечественных условиях.
Использование подхода открытых систем выгодно и производителям, и пользователям. Прежде всего открытые системы обеспечивают естественное решение проблемы поколений аппаратных и программных средств. Производители таких средств не вынуждаются решать все проблемы заново; они могут по крайней мере временно продолжать комплексировать системы, используя существующие компоненты.
1.4 Язык структурированных запросов SQL
1.4.1 Назначение и принцип работы SQL
SQL (часто произносится как "сиквэл", сокращенное название от Structured Query Language) символизирует собой Структурированный Язык Запросов. SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. Это язык который дает возможность эффективно создавать реляционные базы данных и работать с ними.
Мир баз данных становится все более и более единым, что привело к необходимости создания стандартного языка, который мог бы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям знающим один набор команд, использовать их чтобы создавать, отыскивать, изменять, и передавать информацию независимо от того работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. Во все более и более взаимосвязанном компьютерном мире, пользователь, снабженый таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов.
Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных реляционного типа. На рисунке 1.5 изображена схема работы SQL.
Рисунок 1.5 - Применение SQL для доступа к базе данных
Согласно этой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если вычислительная система относится к сфере бизнеса, то в базе данных может храниться информация о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может храниться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы.
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название -- структурированный язык запросов.
Вот основные моменты, характеризующие удобство применения SQL:
организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных;
чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими;
обработка данных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные;
управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа;
совместное использование данных. SQL координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу;
целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
1.4.2 Достоинства языка SQL
Язык запросов дает несомненные преимущества. Во первых он продолжает идеологию архитектуры Клиент-Сервер. Клиентская часть приложения подготавливает запрос на обработку информации и отсылает запрос на сервер базы данных. Сервер , выполнив (обработав) полученный запрос возвращает клиентской программе готовый результат.
Основные преимущества напрямую вытекают из преимуществ клиент-серверного подхода. Например, простое суммирование значений всех полей без использования SQL приведет к пересылки всей таблицы по сети на машину клиента. После суммирования таблица фактически уже не нужна и такое использование сети как минимум не рационально. В случае же с SQL по сети уйдет запрос на сервер, сервер проведет суммирование и вернет обратно по сети только полученную сумму!
Элегантность и независимость от специфики компьютерных технологий (аппаратных платформ), а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL, и вероятно в течение обозримого будущего оставит его, основным стандартным языком. По этой причине, любой кто хочет работать с базами данных 90-х годов должен знать SQL.
Стандарт SQL определяется ANSI (Американским Национальным Институтом Стандартов) и в данное время также принимается ISO (МЕЖДУНАРОДНОЙ ОРГАНИЗАЦИЕЙ ПО СТАНДАРТИЗАЦИИ). Однако, большинство коммерческих СУБД расширяют SQL без уведомления ANSI, добавляя разные другие особенности в этот язык, которые, как они считают, будут весьма полезны. Иногда они несколько нарушают стандарт языка, хотя хорошие идеи имеют тенденцию развиваться и вскоре становиться стандартами "рынка" сами по себе в силу полезности своих качеств.
Здесь следует отметить, что несмотря на достаточно большой набор нестандартных дополнительных фукций SQL InterBase, программа Отдел Кадров использует только стандартные операторы и конструкции. Такое решение принято для возможности легкого переноса программы на другой SQL сервер. Например, при дальнейшем развитии можно перенести программу на Microsoft SQL Server, если InterBase по каким либо причинам перестанет удовлетворять запросы разработчиков. Также следует отметить, что многие нестандартные , дополнительные возможности разных SQL серверов зачастую похожи между собой и при выходе нового стандарта, как правило переносятся в группу стандартизованных. Таким образом происходит дальнейшее развитие языка SQL.
В целом, список преимуществ, на которые стоит обратить внимание в первую очередь, можно представить в следующем виде:
независимость от конкретных СУБД;
переносимость с одной вычислительной системы на другую;
наличие стандартов;
поддержка со стороны компании Microsoft (протокол ODBC);
реляционная основа;
высокоуровневая структура, напоминающая английский язык;
возможность выполнения специальных интерактивных запросов:
обеспечение программного доступа к базам данных;
возможность различного представления данных;
полноценность как языка, предназначенного для работы с базами данных;
возможность динамического определения данных;
поддержка архитектуры клиент/сервер.
Все перечисленные выше факторы явились причиной того, что SQL стал стандартным инструментом для управления данными на персональных компьютерах, мини-компьютерах и больших ЭВМ. Ниже эти факторы рассмотрены более подробно.
Независимость от конкретных СУБД
Все ведущие поставщики СУБД используют SQL, и ни одна новая СУБД, не поддерживающая SQL, не может рассчитывать на успех. Реляционную базу данных и программы, которые с ней работают, можно перенести с одной СУБД на другую с минимальными доработками и переподготовкой персонала. Программные средства, входящие в состав СУБД для персональных компьютеров, работают с реляционными базами данных многих типов.
Переносимость с одной вычислительной системы на другие
Поставщики СУБД предлагают программные продукты для различных вычислительных систем: от персональных компьютеров и рабочих станций до локальных сетей, мини-компьютеров и больших ЭВМ. Приложения, созданные с помощью SQL и рассчитанные на однопользовательские системы, по мере своего развития могут быть перенесены в более крупные системы. Информация из корпоративных реляционных баз данных может быть загружена в базы данных отдельных подразделений или в личные базы данных. Наконец, приложения для реляционных баз данных можно вначале смоделировать на экономичных персональных компьютерах, а затем перенести на дорогие многопользовательские системы.
Стандарты языка SQL
Официальный стандарт языка SQL был опубликован Американским институтом национальных стандартов (American National Standards Institute -- ANSI) и Международной организацией по стандартам (International Standards Organization -- ISO) в 1986 году и значительно расширен в 1992 году. Кроме того, SQL является федеральным стандартом США по обработке информации (FIPS -- Federal Information Processing Standard) и, следовательно, соответствие ему является одним из основных требований, содержащихся в больших правительственных контрактах, относящихся к области вычислительной техники. В Европе стандарт X/OPEN для переносимой среды программирования на основе операционной системы UNIX включает в себя SQL в качестве стандарта для доступа к базам данных. SQL Access Group -- консорциум поставщиков компьютерного оборудования и баз данных -- определил для SQL стандартный интерфейс вызовов функций, который является основой протокола ODBC компании Microsoft и входит также в стандарт X/OPEN. Эти стандарты служат как бы официальной печатью, одобряющей SQL, и они ускорили завоевание им рынка.
Протокол ODBC и компания Microsoft
Компания Microsoft рассматривает доступ к базам данных как важную часть своей операционной системы Windows. Стандартом этой компании по обеспечению доступа к базам данных является ODBC (Open Database Connectivity -- взаимодействие с открытыми базами данных) -- программный интерфейс, основанный на SQL. Протокол ODBC поддерживается наиболее распространенными приложениями Windows (электронными таблицами, текстовыми процессорами, базами данных и т.п.), разработанными как самой компанией Microsoft, так и другими ведущими поставщиками. Поддержка ODBC обеспечивается всеми ведущими реляционными базами данных. Кроме того, ODBC опирается на стандарты, одобренные консорциумом поставщиков SQL Access Group, что делает ODBC как стандартом де-факто компании Microsoft, так и стандартом, независимым от конкретных СУБД.[13, 8, 17].
1.4.3 Запрос на языке SQL
Как подчеркивалось ранее, SQL символизирует собой Структурированный Язык Запросов. Запросы - вероятно наиболее часто используемый аспект SQL. Фактически, для категории SQL пользователей, маловероятно чтобы кто-либо использовал этот язык для чего-то другого. Итак:
Запрос - команда которую дается прикладной программе базы данных, и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала хотя, в большинстве случаев, ее можно также послать принтеру, сохранить в файле ( как объект в памяти компьютера ), или представить как вводную информацию для другой команды или процесса.
Одна из наиболее важных особенностей запросов SQL - это их способность определять связи между многочисленными таблицами и выводить информацию из них в терминах этих связей, всю внутри одной команды. Этот вид операции называется - объединением, которое является одним из видов операций в реляционных базах данных.
Как установлено ранее, главное в реляционном подходе это связи которые можно создавать между позициями данных в таблицах. Используя обьединения, мы непосредственно связываем информацию с любым номером таблицы, и таким образом способны создавать связи между сравнимыми фрагментами данных. При обьединении, таблицы представленые списком в предложении FROM запроса, отделяются запятыми. Предикат запроса может ссылаться к любому столбцу любой связанной таблицы и, следовательно, может использоваться для связи между ими.
Язык допускает три типа синтаксических конструкций, начинающихся с ключевого слова SELECT: спецификация курсора (cursor specification), оператор выборки (select statement) и подзапрос (subquery). Основой всех них является синтаксическая конструкция "табличное выражение (table expression)". Семантика табличного выражения состоит в том, что на основе последовательного применения разделов from, where, group by и having из заданных в разделе from таблиц строится некоторая новая результирующая таблица, порядок следования строк которой не определен и среди строк которой могут находиться дубликаты (т.е. в общем случае таблица-результат табличного выражения является мультимножеством строк). На самом деле именно структура табличного выражения наибольшим образом характеризует структуру запросов языка SQL/89.
1.4.4 Агрегатные функции
Запросы могут производить обобщенное групповое значение полей точно также как и значение одного поля. Это делает с помощью агрегатных функций. Агрегатные функции производят одиночное значение для всей группы таблицы. Имеется список этих функций:
COUNT производит номера строк или не-NULL значения полей которые выбрал запрос;
SUM производит арифметическую сумму всех выбранных значений данного поля;
AVG производит усреднение всех выбранных значений данного поля;
MAX производит наибольшее из всех выбранных значений данного поля;
MIN производит наименьшее из всех выбранных значений данного поля.
1.5 Локальные вычислительные сети
На сегодняшний день в мире существует более 150 миллионов компьютеров, более 80 % из них объединены в различные информационно-вычислительные сети от малых локальных сетей в офисах до глобальных сетей типа Internet
Автоматизированное рабочее место “Отдел Кадров” является программой, активно использующей сетевое соединение отдельных компьютеров в локальную вычислительную сеть. Только при этом становится возможной передача информации с любого рабочего места пользователя на сервер и обратно. Скорость передачи данных по сети естественным образом влияет на общую скорость работы всего АРМ. В свою очередь, скорость прохождения информации от сервера к локальному компьютеру пользователя определяется комплексом программно-аппаратных средств, которые и составляют локальную вычислительную сеть.
В настоящее время существуют различные способы связи разрозненных компьютеров в единое целое (т.е. в сеть). Спектр аппаратных средств (и программных для управления ими) более чем широк. Иногда это приводит к некоторому затруднению при выборе типа сети и её программного обеспечения. Неправильный выбор может в дальнейшем привести к невозможности функционирования программ в случае увеличения парка машин или возрастания требований к скорости и объемам передаваемой информации. С учетом сказанного становится ясно, что необходимо в достаточной степени понимать принципы организации ЛВС, грамотно выбрать аппаратные и программные средства для её построения.
В данном разделе описаны основные, базовые принципы ЛВС, приведены различные схемы соединения машин. Дано описание достоинств и недостатков каждой схемы. Теоретическая информация подкреплена описанием реально используемыми в настоящее время аппаратными и программными средствами для построения ЛВС. Наряду с давно применяемыми и хорошо изученными способами построения сетей приводится описание современного способа соединения с помощью оптоволоконного кабеля.
1.5.1 Файл сервер и рабочие станции
ЛВС могут состоять из одного файл-сервера, поддерживающего небольшое число рабочих станций, или из многих файл-серверов и коммуникационных серверов, соединенных с сотнями рабочих станций. Некоторые сети спроектированы для оказания сравнительно простых услуг, таких, как совместное пользование прикладной программой и файлом и обеспечение доступа к единственному принтеру. Другие сети обеспечивают связь с большими и мини-ЭВМ, модемами коллективного пользования, разнообразными устройствами ввода/вывода (графопостроителями, принтерами и т. д.) и устройствам памяти большой емкости (диски типа WORM).
Файл-сервер является ядром локальной сети. Этот компьютер (обычно высокопроизводительный мини-компьютер) запускает операционную систему и управляет потоком данных, передаваемых по сети. Отдельные рабочие станции и любые совместно используемые периферийные устройства, такие, как принтеры, - все подсоединяются к файл-серверу.
Каждая рабочая станция представляет собой обычный персональный компьютер, работающий под управлением собственной дисковой операционной системы (такой, как DOS или OS/2). Однако в отличие от автономного персонального компьютера рабочая станция содержит плату сетевого интерфейса и физически соединена кабелями с файлом-сервером. Кроме того, рабочая станция запускает специальную программу, называемой оболочкой сети, которая позволяет ей обмениваться информацией с файл-сервером, другими рабочими станциями и прочими устройствами сети. Оболочка позволяет рабочей станции использовать файлы и программы, хранящиеся на файл-сервере, так же легко, как и находящиеся на ее собственных дисках.
1.5.2 Операционная система рабочей станции
Каждый компьютер рабочей станции работает под управлением своей собственной операционной системы (такой, как DOS или OS/2). Чтобы включить каждую рабочую станцию с состав сети, оболочка сетевой операционной системы загружается в начало операционной системы компьютера.
Оболочка сохраняет большую часть команд и функций операционной системы, позволяя рабочей станции в процессе работы выглядеть как обычно. Оболочка просто добавляет локальной операционной системе больше функций и придает ей гибкость.
1.5.3 Преимущества локальных вычислительных сетей
Понятие локальная вычислительная сеть - ЛВС (англ. LAN - Lokal Area Network) относится к географически ограниченным ( территориально или производственно) аппаратно-программным реализациям, в которых несколько компьютерных систем связаны друг с другом с помощью соответствующих средств коммуникаций. Благодаря такому соединению пользователь может взаимодействовать с другими рабочими станциями, подключенными к этой ЛВС.
В производственной практики ЛВС играют очень большую роль. Посредством ЛВС в систему объединяются персональные компьютеры, расположенные на многих удаленных рабочих местах, которые используют совместно оборудование, программные средства и информацию. Рабочие места сотрудников перестают быть изолированными и объединяются в единую систему. Рассмотрим преимущества, получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети.
Разделение ресурсов.
Разделение ресурсов позволяет экономно использовать ресурсы, например, управлять периферийными устройствами, такими как лазерные печатающие устройства, со всех присоединенных рабочих станций.
Разделение данных.
Разделение данных предоставляет возможность доступа и управления базами данных с периферийных рабочих мест, нуждающихся в информации.
Разделение программных средств.
Разделение программных средств предоставляет возможность одновременного использования централизованных, ранее установленных программных средств.
Разделение ресурсов процессора.
При разделении ресурсов процессора возможно использование вычислительных мощностей для обработки данных другими системами, входящими в сеть. Предоставляемая возможность заключается в том, что на имеющиеся ресурсы пользовательские программы не “набрасываются” моментально, а только лишь через специальный процессор, доступный каждой рабочей станции.
Многопользовательский режим.
Многопользовательские свойства системы содействуют одновременному использованию централизованных прикладных программных средств, ранее установленных и управляемых. Например, если пользователь системы работает с другим заданием, то текущая выполняемая работа отодвигается на задний план.
1.5.4 Стандарт передачи информации
Все ЛВС работают в одном стандарте принятом для компьютерных сетей - в стандарте OSI (англ. Open Systems Interconnection). В данном разделе описана базовая модель OSI.
Для того чтобы взаимодействовать, люди используют общий язык. Если они не могут разговаривать друг с другом непосредственно, они применяют соответствующие вспомогательные средства для передачи сообщений.
Показанные выше стадии общения необходимы, когда сообщение передается от отправителя к получателю.
Для того чтобы привести в движение процесс передачи данных, используются машины с одинаковым кодированием данных и связанные одна с другой. Для единого представления данных в линиях связи, по которым передается информация, сформирована Международная организация по стандартизации ISO (англ. ISO - International Standards Organization).
ISO предназначена для разработки модели международного коммуникационного протокола, в рамках которой можно разрабатывать международные стандарты. Для наглядного пояснения расчленим ее на семь уровней.
ISO разработала указанную базовую модель взаимодействия открытых систем OSI. Модель содержит семь отдельных уровней:
физический - битовые протоколы передачи информации;
канальный - формирование кадров, управление доступом к среде;
сетевой - маршрутизация, управление потоками данных;
транспортный - обеспечение взаимодействия удаленных процессов;
сеансовый - поддержка диалога между удаленными процессами;
представлении данных - интерпретация передаваемых данных;
прикладной - пользовательское управление данными.
Основная идея этой модели заключается в том, что каждому уровню отводится конкретная ролью в том числе и транспортной среде. Благодаря этому общая задача передачи данных расчленяется на отдельные легко обозримые задачи. Необходимые соглашения для связи одного уровня с выше- и нижерасположенными называют протоколом.
Так как пользователи нуждаются в эффективном управлении, система вычислительной сети представляется как комплексное строение, которое координирует взаимодействие задач пользователей.
С учетом вышеизложенного можно вывести следующую уровневую модель с административными функциями, выполняющимися в пользовательском прикладном уровне.
Отдельные уровни базовой модели проходят в направлении вниз от источника данных (от уровня 7 к уровню 1) и в направлении вверх от приемника данных (от уровня 1 к уровню 7). Пользовательские данные передаются в нижерасположенный уровень вместе со специфическим для уровня заголовком до тех пор, пока не будет достигнут последний уровень.
На приемной стороне поступающие данные анализируются и, по мере надобности, передаются далее в вышерасположенный уровень, пока информация не будет передана в пользовательский прикладной уровень.
Уровень 1. Физический. На физическом уровне определяются электрические, механические, функциональные и процедурные параметры для физической связи в системах. Физическая связь и неразрывная с ней эксплуатационная готовность являются основной функцией 1-го уровня. Стандарты физического уровня включают рекомендации V.24 МККТТ (CCITT), EIA RS232 и Х.21. Стандарт ISDN ( Integrated Services Digital Network) в будущем сыграет определяющую роль для функций передачи данных. В качестве среды передачи данных используют трехжильный медный провод (экранированная витая пара), коаксиальный кабель, оптоволоконный проводник и радиорелейную линию.
Уровень 2. Канальный. Канальный уровень формирует из данных, передаваемых 1-м уровнем, так называемые "кадры" последовательности кадров. На этом уровне осуществляются управление доступом к передающей среде, используемой несколькими ЭВМ, синхронизация, обнаружение и исправление ошибок.
Уровень 3. Сетевой. Сетевой уровень устанавливает связь в вычислительной сети между двумя абонентами. Соединение происходит благодаря функциям маршрутизации, которые требуют наличия сетевого адреса в пакете. Сетевой уровень должен также обеспечивать обработку ошибок, мультиплексирование, управление потоками данных. Самый известный стандарт, относящийся к этому уровню, - рекомендация Х.25 МККТТ (для сетей общего пользования с коммутацией пакетов).
Уровень 4. Транспортный. Транспортный уровень поддерживает непрерывную передачу данных между двумя взаимодействующими друг с другом пользовательскими процессами. Качество транспортировки, безошибочность передачи, независимость вычислительных сетей, сервис транспортировки из конца в конец, минимизация затрат и адресация связи гарантируют непрерывную и безошибочную передачу данных.
Уровень 5. Сеансовый. Сеансовый уровень координирует прием, передачу и выдачу одного сеанса связи. Для координации необходимы контроль рабочих параметров, управление потоками данных промежуточных накопителей и диалоговый контроль, гарантирующий передачу, имеющихся в распоряжении данных. Кроме того, сеансовый уровень содержит дополнительно функции управления паролями, подсчета платы за пользование ресурсами сети, управления диалогом, синхронизации и отмены связи в сеансе передачи после сбоя вследствие ошибок в нижерасположенных уровнях.
Уровень 6. Представления данных. Уровень представления данных предназначен для интерпретации данных; а также подготовки данных для пользовательского прикладного уровня. На этом уровне происходит преобразование данных из кадров, используемых для передачи данных в экранный формат или формат для печатающих устройств оконечной системы.
Уровень 7. Прикладной. В прикладном уровне необходимо предоставить в распоряжение пользователей уже переработанную информацию. С этим может справиться системное и пользовательское прикладное программное обеспечение.
Для передачи информации по коммуникационным линиям данные преобразуются в цепочку следующих друг за другом битов (двоичное кодирование с помощью двух состояний:"0" и "1").
Передаваемые алфавитно-цифровые знаки представляются с помощью битовых комбинаций. Битовые комбинации располагают в определенной кодовой таблице, содержащей 4-, 5-, 6-, 7- или 8-битовые коды.
Количество представленных знаков в ходе зависит от количества битов, используемых в коде: код из четырех битов может представить максимум 16 значений, 5-битовый код - 32 значения, 6-битовый код - 64 значения, 7-битовый - 128 значений и 8-битовый код - 256 алфавитно-цифровых знаков.
При передаче информации между одинаковыми вычислительными системами и различающимися типами компьютеров применяют следующие коды:
На международном уровне передача символьной информации осуществляется с помощью 7-битового кодирования, позволяющего закодировать заглавные и строчные буквы английского алфавита, а также некоторые спецсимволы.
Национальные и специальные знаки с помощью 7-битово кода представить нельзя. Для представления национальных знаков применяют наиболее употребимый 8-битовый код.
Для правильной и, следовательно, полной и безошибочной передачи данных необходимо придерживаться согласованных и установленных правил. Все они оговорены в протоколе передачи данных.
Протокол передачи данных требует следующей информации:
Синхронизация.Под синхронизацией понимают механизм распознавания начала блока данных и его конца;
Инициализация.Под инициализацией понимают установление соединения между взаимодействующими партнерами;
Блокирование.Под блокированием понимают разбиение передаваемой информации на блоки данных строго определенной максимальной длины (включая опознавательные знаки начала блока и его конца);
Адресация. Адресация обеспечивает идентификацию различного используемого оборудования данных, которое обменивается друг с другом информацией во время взаимодействия;
Обнаружение ошибок. Под обнаружением ошибок понимают установку битов четности и, следовательно, вычисление контрольных битов;
Нумерация блоков. Текущая нумерация блоков позволяет установить ошибочно передаваемую или потерявшуюся информацию;
Управление потоком данных. Управление потоком данных служит для распределения и синхронизации информационных потоков. Так, например, если не хватает места в буфере устройства данных или данные не достаточно быстро обрабатываются в периферийных устройствах (например, принтерах), сообщения и / или запросы накапливаются;
Методы восстановления. После прерывания процесса передачи данных используют методы восстановления, чтобы вернуться к определенному положению для повторной передачи информации;
Разрешение доступа.Распределение, контроль и управление ограничениями доступа к данным вменяются в обязанность пункта разрешения доступа (например, "только передача" или "только прием" ).
1.5.5 Сетевые устройства и средства коммуникаций
В качестве средств коммуникации наиболее часто используются витая пара, коаксиальный кабель и оптоволоконные линии. При выборе типа кабеля учитывают следующие показатели:
стоимость монтажа и обслуживания;
скорость передачи информации;
ограничения на величину расстояния передачи информации (без дополнительных усилителей-повторителей(репитеров));
безопасность передачи данных.
Главная проблема заключается в одновременном обеспечении этих показателей, например, наивысшая скорость передачи данных ограничена максимально возможным расстоянием передачи данных, при котором еще обеспечивается требуемый уровень защиты данных. Легкая наращиваемость и простота расширения кабельной системы влияют на ее стоимость.
1.5.6 Витая пара
Наиболее дешевым кабельным соединением является витое двухжильное проводное соединение часто называемое "витой парой" (twisted pair). Она позволяет передавать информацию со скоростью до 10 Мбит/с, легко наращивается, однако является помехонезащищенной. Длина кабеля не может превышать 1000 м при скорости передачи 1 Мбит/с. Преимуществами являются низкая цена и бес проблемная установка. Для повышения помехозащищенности информации часто используют экранированную витую пару, т.е. витую пару, помещенную в экранирующую оболочку, подобно экрану коаксиального кабеля. Это увеличивает стоимость витой пары и приближает ее цену к цене коаксиального кабеля.
1.5.7 Широкополосный коаксиальный кабель
Широкополосный коаксиальный кабель невосприимчив к помехам, легко наращивается, но цена его высокая. Скорость передачи информации равна 500 Мбит/с. При передачи информации в базисной полосе частот на расстояние более 1,5 км требуется усилитель, или так называемый репитер (повторитель). Поэтому суммарное расстояние при передаче информации увеличивается до 10 км. Для вычислительных сетей с топологией шина или дерево коаксиальный кабель должен иметь на конце согласующий резистор (терминатор).
1.5.8 Еthernet-кабель
Ethernet-кабель также является коаксиальным кабелем с волновым сопротивлением 50 Ом. Его называют еще толстый Ethernet (thick) или желтый кабель (yellow cable). Он использует 15-контактное стандартное включение. Вследствие помехозащищенности является дорогой альтернативой обычным коаксиальным кабелям. Максимально доступное расстояние без повторителя не превышает 500 м, а общее расстояние сети Ethernet - около 3000 м. Ethernet-кабель, благодаря своей магистральной топологии, использует в конце лишь один нагрузочный резистор.
1.5.9 Оптоволоконные линии
Наиболее дорогими являются оптопроводники, называемые также стекловолоконным кабелем. Скорость распространения информации по ним достигает нескольких гигабит в секунду. Допустимое удаление более 50 км. Внешнее воздействие помех практически отсутствует. На данный момент это наиболее дорогостоящее соединение для ЛВС. Применяются там, где возникают электромагнитные поля помех или требуется передача информации на очень большие расстояния без использования повторителей. Они обладают противоподслушивающими свойствами, так как техника ответвлений в оптоволоконных кабелях очень сложна. Оптопроводники объединяются в JIBC с помощью звездообразного соединения.
Таблица 1.1 - .Показатели трех типовых сред для передачи
Показатели |
Среда передачи данных |
|||
Двух жильный кабель - витая пара |
Коаксиальный кабель |
Оптоволоконный кабель |
||
Цена |
Невысокая |
Относительно высокая |
Высокая |
|
Наращивание |
Очень простое |
Проблематично |
Простое |
|
Защита от прослушивания |
Незначительная |
Хорошая |
Высокая |
|
Показатели |
Среда передачи данных |
|||
Двух жильный кабель - витая пара |
Коаксиальный кабель |
Оптоволоконный кабель |
||
Проблемы с заземлением |
Нет |
Возможны |
Нет |
|
Восприимчивость к помехам |
Существует |
Существует |
Отсутствует |
1.5.10 Топологии вычислительной сети
Термин "топология сети" относится к пути, по которому данные перемещаются по сети. Существуют три основных вида топологий: "общая шина", "звезда" и "кольцо".
1.5.11Топология типа звезда
Концепция топологии сети в виде звезды пришла из области больших ЭВМ, в которой головная машина получает и обрабатывает все данные с периферийных устройств как активный узел обработки данных. Вся информация между двумя периферийными рабочими местами проходит через центральный узел вычислительной сети.
Топология в виде звезды
Пропускная способность сети определяется вычислительной мощностью узла и гарантируется для каждой рабочей станции. Коллизий (столкновений) данных не возникает.
Кабельное соединение довольно простое, так как каждая рабочая станция связана с узлом. Затраты на прокладку кабелей высокие, особенно когда центральный узел географически расположен не в центре топологии.
При расширении вычислительных сетей не могут быть использованы ранее выполненные кабельные связи: к новому рабочему месту необходимо прокладывать отдельный кабель из центра сети.
Топология в виде звезды является наиболее быстродействующей из всех топологий вычислительных сетей, поскольку передача данных между рабочими станциями проходит через центральный узел (при его хорошей производительности) по отдельным линиям, используемым только этими рабочими станциями. Частота запросов передачи информации от одной станции к другой невысокая по сравнению с достигаемой в других топологиях.
Производительность вычислительной сети в первую очередь зависит от мощности центрального файлового сервера. Он может быть узким местом вычислительной сети. В случае выхода из строя центрального узла нарушается работа всей сети.Центральный узел управления - файловый сервер мотает реализовать оптимальный механизм защиты против несанкционированного доступа к информации. Вся вычислительная сеть может управляться из ее центра.
1.5.12 Кольцевая топология
При кольцевой топологии сети рабочие станции связаны одна с другой по кругу, т.е. рабочая станция 1 с рабочей станцией 2, рабочая станция 3 с рабочей станцией 4 и т.д. Последняя рабочая станция связана с первой. Коммуникационная связь замыкается в кольцо.
Кольцевая топология
Прокладка кабелей от одной рабочей станции до другой может быть довольно сложной и дорогостоящей, особенно если географически рабочие станции расположены далеко от кольца (например, в линию).
Подобные документы
Разработка программы тестирования для выявления акцентуаций типа человека в среде Delphi и Microsoft Access. Проектирование алгоритма реализации модели. Описание программы и модулей, руководство пользователя. Меры обеспечения информационной безопасности.
дипломная работа [2,7 M], добавлен 15.06.2012Модель удаленного управления и доступа к данным. Преимущества архитектуры клиент-сервер. Выбор языка программирования. Разработка программы и создание базы данных. Нормирование условий труда программистов, операторов электронно-вычислительных машин.
дипломная работа [2,3 M], добавлен 27.04.2014Разработка приложений на платформе Win32 для исследования взаимодействия между процессами через отображение файла в память. Модель приложений "клиент - сервер". Описание алгоритма работы программы-клиента и программы-сервера. Результаты работы приложений.
курсовая работа [869,3 K], добавлен 18.05.2014Описание предметной области и разработка электронного учебника на основе архитектуры "клиент – сервер". Тестирование программы менеджера и создание интерфейса главного меню. Вход в программу в качестве пользователя и обеспечение перехода к данным лекций.
курсовая работа [1,5 M], добавлен 26.02.2015Общая характеристика предприятия, анализ существующей системы управления. Проект программы "Автоматизированное рабочее место кассира в отделе контроля и сбора выручки", в современной объектно-ориентированной интерактивной среде Delphi 7 фирмы Borland.
дипломная работа [771,5 K], добавлен 10.10.2011Цели социальной работы как профессиональной деятельности. Описание работы специалиста отдела социальной поддержки. Автоматизированное рабочее место специалиста, его функции, цели и задачи. Техническое и программное обеспечение рабочего места сотрудника.
курсовая работа [36,0 K], добавлен 14.12.2014Описание программного обеспечения и языка программирования. Структуризация записей файлов, таблица компонентов. Организация производства: комплекс технических средств, инструкция пользователя. Листинг разработанной программы и оценка ее эффективности.
дипломная работа [868,3 K], добавлен 29.04.2013Проблема создания автоматизированных рабочих мест врачей. Клинические системы информационной поддержки медицинского персонала лечебных учреждений. Создание электронных версий историй болезни. Тематические рубрикаторы группировки информации о пациентах.
реферат [41,9 K], добавлен 25.04.2015Создание автоматизированной системы хранения и обработки данных, обеспечивающей хранение всех сведений о персонале. Структура таблиц, запросов, отчетов и форм. Инструкция пользователя. Отладка и экономическое обоснование программного продукта.
дипломная работа [5,5 M], добавлен 07.05.2012Выбор рациональной системы складирования на предприятии ЗАО "Приосколье". Обоснование выбора СУБД Access для разработки базы данных. Единовременные расходы организации заказчика на программное обеспечение при внедрении автоматизированных рабочих мест.
дипломная работа [2,5 M], добавлен 24.03.2010