Информационные системы, основные функции и области применения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Информационные системы, основные функции и области применения



Информационные системы, основные функции и области применения

 

В основе решения многих задач лежит обработка информации. Для облегчения обработки информации создаются ИС.

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

По целевым функциям ИС делятся: на управляющие, информационно-справочные и поддержки принятия решений.

Узкая трактовка ИС - это аппаратно-программные средства, задействованные для решения некоторых прикладных задач.

 

Банк данных и его компоненты

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

Банк данных в общем случае состоит из следующих компонентов:

1. БД - представляет собой совокупность специальным образом организованных данных хранимых в памяти ВС и отображающих состояние объектов и их взаимосвязи в рассматриваемой предметной области.

Логическую структуру хранимых в БД данных называют моделью представления данных. К основных моделям представления данных относятся: иерархическая, сетевая, реляционная, постреляционная, многомерная и объектно-ориентированная.

2. СУБД – это комплекс языковых и программных средств, предназначенных для создания, ведения и совместного использования базы данных многими пользователями.

Обычно СУБД различают по используемой модели данных.

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

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

5. Администратор БД – есть лицо или группа лиц, отвечающее за выбор требований к БД, ее проектирование, создание, эффективное использование и сопровождение.

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

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

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

 

 

Иерархическая модель данных

Иерархическая модель данных – это логическая модель данных в виде древовидной структуры. Иерархическая древовидная структура строится из узлов и ветвей.

Узел представляет собой совокупность атрибутов данных описывающих некоторый объект.

Корень - наивысший узел в древовидной структуре.

Зависимые узлы располагаются на более на более низких уровнях дерева. Уровень, на котором находиться данный узел определяется расстоянием от корневого узла.

Каждый экземпляр корневого узла образует начало записи логической БД. В иерархической модели данных узлы, находящиеся на уровне 2, называются порожденными узла на уровне1, узел на уровне1 называется исходным для узлов на уровне 2.

Достоинства:

· Наличие хорошо зарекомендовавших себя СУБД основанных на её применении.

· Простота понимания и использования.

· Обеспечение определенного уровня независимости данных.

· Простота оценки операционных характеристик благодаря заранее заданным взаимосвязям.

Недостатки:

· Громоздкость модели.

· Удаление исходных объектов влечет удаление поражденных.

· Особенности иерархических структур обуславливают процедурность операций манипулирования данными.

· Сложность доступа к узлам.

 

Сетевая модель данных

Сетевая модель состоит из множества записей, которые могут быть владельцами или членами групповых соотношений. Связь между записью владельцем и записью объектом имеет вид 1:N/

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

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

Элемент данных так же часто называют полем.

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

Экземпляр записи – это конкретная запись с конкретным значением элементов. Примеры сетевых СУБД: CODASYL, DBMS, IDMS, TOTAL, VISTA, СЕТЬ, СЕТОР, КОМПАС.

Достоинство сетевой модели – высокая эффективность затрат памяти и оперативность.

Недостатки:

1. Сложность и жесткость схема базы данных, а так же сложность понимания.

2. Ослабленный контроль целостности (допускается устанавливать произвольные связи между записями).

3. Сложность механизма доступа к данным.

4. Необходимость на физическом уровне четко определять связи данных.

5. Требуются значительные ресурсы памяти ЭВМ.

6. Сложность реализации СУБД.

 

Реляционная модель

Реляционная модель была предложена в 1970 году Эдгаром Кодом и основывалась на понятиях «отношений». Отношения представляют собой множество элементов называемых кортежами. Наглядной формой представления отношений является двумерная таблица. Таблица имеет строки называемые записями и столбцы – колонки. Каждая строка таблицы имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам – атрибуты отношений. С помощью одной таблицы удобно описать простейший вид связей между данными, информация о которых хранится в таблице. Так как в рамках одной таблицы не удается описать более сложной логической структуры данных из предметной области применяют связывание таблицы.

Достоинства реляционной модели:

1. Простота, удобство физической реализации, понятность.

2. Легко дополнять простыми отношениями.

Недостатки:

1. Отсутствие стандартных средств, идентификация отдельных записей.

2. Сложность описания, иерархической и сетевой связи.

 

 

Классификация программ СУБД

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

В общем случае СУБД делятся на следующие основные виды программ:

1. Полнофункциональные (ПФ) – представляют собой традиционные СУБД. Из числа всех современных СУБД ПФ являются наиболее многочисленными и мощными по своим возможностям. К ПФ относятся Data Flex, dBase, Access, FoxPro, Paradox. Обычно ПФ СУБД имеет развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с СУБД:

1) Создание, модификация структур и таблиц.

2) Ввод данных.

3) Формирование запросов.

4) Разработка отчетов и их печать.

Многие ПФ СУБД включают в себя средства программирования для профессиональных разработчиков.

2. Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД реализуют функцию управления БД запрашиваемые другими пользователями обычно с помощью SQL запросов (операторов). К серверам баз данных относятся SQL-server и InterBase.

3. Клиенты БД. В роли клиентских программ для сервера БД могут использоваться различные программы: ПФ СУБД и электронные таблицы.

4. Средства разработки программ работы с БД – могут использоваться для создания разновидностей следующих программ: клиентских программ, серверов БД и их отдельных компонентов, пользовательских приложений. К средствам разработки пользовательских приложений относятся: системы программирования, разнообразные библиотеки программ для различных языков программирования, а так же пакеты автоматизации разработок (в том числе системах типа «клиент-сервер» (Delphi, Builder, Visual Basic).

По характеру использования СУБД делятся на:

1. Персональные СУБД – обеспечивают возможность создания персональных баз данных и недорогих приложений работающих с ними. Они выступают в роли клиентской части многопользовательских СУБД (FoxPro, Acces и dBase).

2. Многопользовательские СУБД – включают в себя сервер БД и клиентскую часть. Как правило они могут работать в неоднородной вычислительной среде (с разными типами ЭВМ и ОС): Oracle.

 

 

Индексирование

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

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

Таблицу, для которой используется индекс, называют индексированной.

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

Отношения между таблицами

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

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

v Один ко многим, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы.

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

 

 

Реляционное исчисление

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

Целевой спискок - список выражений реляционного исчисления, определяющий атрибуты результирующей таблицы. Определяющее выражение – это условие выражения реляционного исчисления, на основании которого отбираются значения, которые войдут в результирующую таблицу. Построение запросов на языке реляционного исчисления используют квантор существования и квантор всеобщности.

Квантор существования – означает существование хотя бы одной строки удовлетворяющей условиям.

Квантор всеобщности – это выражение, которое означает, что некоторое условие применяется ко всем строкам некоторого типа.

Вторая нормальная форма

О таблице говорят, что она находится во второй нормальной форме, если:

1) Если она удовлетворяет условиям первой нормальной формы

2) Любое не ключевое поле однозначно идентифицируется полным набором ключевых полей

Покупатели
Код Покупателя
Предприятие
Фамилия
Имя
Отчество
Индекс
Страна
Область
Город
Адрес
Кредит
Дополнительные сведения
Заказы
Номер
Код
Дата
Код менеджера
Имя менеджера
Продано
Номер
Код
Заказанное количество
Проданное количество
Дата продажи
Примечание

 

Телефоны
Код покупателя
Телефонная книга

 

Товары
Код товара
Наименование
Группа товара
Цена

 

Менеджер
Код менеджера
Имя менеджера

 

О таблице говорят, что она находится в третьей нормальной форме, если:
1) удовлетворяет условиям второй нормальной формы 2) Ни одно из не ключевых полей не идентифицируется с помощью другого не ключевого поля.

 

 

Управление транзакциями

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

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

При завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешней памяти.

При завершении транзакции оператором ROLLBACK результаты гарантированно отсутствуют во внешней памяти.

 

 

Транзакции и целостность БД

 

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

Например. В БД «Сотрудник отдела» естественным ограничением целостности является совпадение значения атрибута размер отдела в кортеже отношения «отделы» описывающим данный отдел с числом кортежей отношения «сотрудник» таких, что значения атрибута «сотрудник отдела №320» в этом случае принять на работу в отдел 320 нового сотрудника необходимо выполнить операцию вставки нового кортежа в отношение сотрудники или операцию модификации существующего кортежа в отношении отдела после выполнения 1 или 2 операции БД окажется в нецелостном состоянии. Поэтому, для поддержания подобных ограничений целостности допускается их разрушение внутри транзакции с тем условием, чтобы к моменту завершения транзакции условия целостности были соблюдены. В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии БД и должна оставить это состояние после своего завершения, несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит её откат и БД остается в таком состоянии, в котором она находилась к моменту начала транзакции.

Различают 2 вида ограничения целостности:

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

· Откладываемы ограничения целостности – это ограничения на базу данных, а не на какие-либо отдельные операции. Такие ограничения по умолчанию проверяются в конце транзакции и их нарушение вызывает автоматическую замену оператора commit на rollback. В некоторых системах поддерживается специальный оператор насильственной проверки ограничений целостности внутри транзакций

 

 



Сериализация транзакций

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

Синхронизационные захваты

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

????????????????????????????????????????????????????????????????????????????????????7

 

Метод временных меток

Альтернативный метод сериализации транзакций хорошо работающий в условиях редких конфликтов транзакций и не требующий построения графа ожидания транзакций основан на использовании временных меток. Основная идея метода состоит в следующем: если транзакция T1 началась раньше транзакции Т2, то система обеспечивает такой режим выполнения, как если бы T1 была целиком выполнена до начала Т2. Для этого каждой транзакции Т предписывается временная метка t соответствующая времени начала транзакции. При выполнении операции над объектом r транзакция Т помечает его своей временной меткой и типом операции (чтение, изменение).

Перед выполнением операции над объектом r транзакция Т1 выполняет следующие действия:

1. Проверяет не закончилась ли транзакция Т пометившая этот объект. Если Т закончилась транзакция Т1 помечает объект r и выполняет свою операцию.

2. Если транзакция Т не завершилась, то Т1 проверяет конфликтность операций. Если операции не конфликтны при объекте r остается или проставляется временная метка с меньшим значением и транзакция Т1 выполняет свою операцию.

3. Если операции Т1 и Т конфликтуют, то если t(T)>t(T1), т.е. транзакция Т1 является более молодой чем Т производится откат Т и Т1 продолжает работу.

4. Если же t(T)<t(T1) (Т старше Т1), то Т1 получается новую временную метку и начинается заново.

 

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

 

Элементы языка SQL

Составные части SQL

 

Язык SQL подразделяется на 2 составные части:

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

2. Язык манипулирования данными DML – предоставляет возможность выборки информации из БД и ее преобразования.

 

Типы данных SQL

 

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

1. Строка символов – стандарт поддерживает только один тип представления текста.

CHARACTER (CHAR) – этот тип данных представляет собой символьные строки фиксированной длинны. Его синтаксис имеет вид: character[(длинна)] или char[(длина)]. Длина может принимать значения от 1 до 255. Если во вводимой в поле текстовой константе фактическое число символов меньше числа определенного параметром длина, то эта константа автоматически дополняется справа пробелами до заданного числа символов.

Некоторые реализации языка SQL поддерживают в качестве типа данных строки переменной длинны. VARCHAR, CHARACTER VARYING, CHARVARYING. Этот тип данных описывает текстовую строку, которая может иметь произвольную длину до определенного конкретной реализацией SQL максимума. В отличие от типа CHAR в этом случае при вводе текстовой константы, длина которой меньше заданной не производится ее дополнение пробелами до заданного максимального значения.

Константы, имеющие тип CHAR и VARCHAR, в выражениях SQL заключаются в одиночные кавычки.

2. Числовые типы данных:

INTEGER – используется для представления целых чисел от -2^31 до 2^31.

SMALLINT – используется для представления целых чисел в диапазоне от -2^15 до 2^15.

DECIMAL (точность, масштаб)

Используемые термины и обозначения

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

В описании синтаксиса команд SQL используются следующие обозначения:

1. [] - квадратные скобки – указывают необязательный элемент синтаксической конструкции.

2. … - многоточие – определяет, что выражение предшествующее ему может повторяться любое число раз.

3. {} – фигурные скобки – объединяют последовательность элементов в логическую группу, один из элементов которой должен обязательно использоваться.

4. | - вертикальная черта – указывает, что часть определения, следующая за этим символом, является одним из возможных вариантов.

5. <> - в угловые скобки заключаются обычные элементы, объясняемые по мере того как они вводятся.

 

Простейшие SELECT-запросы

 

Упрощенный синтаксис оператора Select выглядит следующим образом:

Select [distinct] <список атрибутов >

From <список таблиц>

[Where <условие выборки>]

[Order by <список атрибутов>]

[Group by <список атрибутов>]

[Having <условие>]

[Union <выражение с операндом Select>];

 

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

Select name, surname

From student;

Select * -выводит все атрибуты.

Получаемые в результате выполнения SQL-запроса таблицы не в полной мере отвечают определению реляционного отношения. Т.е. в них могут оказаться кортежи с одинаковым значением атрибутов. Например: получить список названий городов, где проживают студенты, сведения о которых находятся в таблице student.

Select city

From student;

Для исключения из результата SELECT-запроса повторяющихся записей используется ключевое слово distinct. Если запрос SELECT извлекает множество полей, то distinct исключает дубликаты строк, в которых значения всех выбранных строк идентичны.

Select distinct city

From student;

Ключевое слово all в отличие от distinct оказывает противоположное действие, т.е. при его использовании повторяющиеся строки включаются в состав выходных данных.

Использование в операторe Select предложения определяемого ключевым слово Where позволяет задавать выражение условия (предикат) принимающее значение Истина или Ложь для значений полей строк таблиц к которым обращается оператор Select. Предложение Where определяет, какие строки должны быть выбраны. В таблицу являющуюся результатом запроса включаются только те строки, в которых предикат, указанный в предложении-Where принимает значение Истина.

Пример: написать запрос выполняющий выборку имен всех студентов с фамилией Петров, сведения о которых содержатся в таблице student.

 

Select name, surname

From student

Where surname = 'Петров';

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

Select name, surname

From student

Where kurs = 3 and stipend>0;

 

 

Оператор Between

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

Пример: вывести информацию о предметах, на изучение которых отводится количество часов находящееся в пределах между 20 и 40.

Select *

From subject

Where hour between 30 and 40;

 

Оператор Like

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

1. _ - определяет возможность наличия в указанном месте одного любого символа.

2. % - допускает присутствие в указанном месте проверяемой строки последовательности любых символов произвольной длинны.

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

Select *

From student

Where surname like ‘Р%’;

В случае необходимости включение в образец самих символов _ и % применяют т.н. escape символы. Например, можно задать образец поиска с помощью следующего выражения: like ‘_\_P’ escape’_\’. В этом выражении символ backslash с помощью ключевого слова escape объявляется escape-символом. Первый символ _ будет соответствовать, как и ранее любому символу проверяемой строки, однако второй символ _, следующий после символа backslash объявленного escape-символом уже будет интерпретироваться буквально как обычный символ. Замечание: рассмотренные выше операторы сравнения и операторы in, between, like нельзя использовать для проверки содержимого поля на пустое значение.

Select *

From student

Where surname is null;

 

Преобразование вывода и встроенные функции

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

 

Пример:

Select ‘Фамилия’, surname, ‘Имя’, name, 100

From student;

 

Арифметические операции для преобразования числовых данных

 

Можно использовать следующие арифметические операции: унарный минус, плюс, минус, умножить, разделить.

Например:

Select surname, name, -(stipend*kurs)/2 as result

From student

Where kurs = 4 and stipend >0;

 

Операция конкатенации строк

 

Операция конкатенации || позволяет соединять значения двух или более столбцов символьного типа или символьных констант в одну строку. Пример:

Select surname || ‘_’|| name

From student;

 

Упорядочение выходных полей

 

Записи в реляционной БД не упорядочены. Однако в результате выполнения запроса данные можно упорядочить. Для этого используется оператор Order by, который позволяет упорядочивать выводимые записи в соответствии со значениями одного или нескольких выбранных столбцов. При этом можно задать возрастающую (asc) или убывающую (desc) последовательность сортировки.

Пример: 1)выбрать все данные из таблицы, упорядочив их по названию предмета.

Select *;

From subject

Order by subj_name;

2)Упорядочить выводимый список предметов обучения по значениям семестра, а внутри семестра по наименованию предмета.

Select *

From subject

Order by semester, subj_name;

 

Предложение Order by может использоваться для упорядочивания групп записей, при этом оператор Order by в запросе всегда должен быть последним.

 

Select subj_name, semester, max(hour)

From subject

Group by semester, subj_name

Order by semester;

 

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

Например: упорядочить данные по полю семестр по убыванию.

 

Select subj_id, semester

From subject

Order by 2 desc;

 

Если в поле которое используется для упорядочения существует null-значение, то все они размещаются в конце или предшествуют всем остальным значениям этого поля.

 

Вложенные подзапросы

 

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

 

Select *

From exam_marks

Where student_id =

(Select student_id

From student

Where surname = ‘Петров’);

Алгоритм работы запроса SQL со связанным подзапросом:

1. Выбирается строка из таблицы, имя которой указано во внешнем запросе;

2. Выполняется подзапрос и полученное значение применяется для анализа этой строки в условии предложения Where внешнего запроса;

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

4. Процедура повторяется для следующей строки таблицы внешнего запроса.

 

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

 

Select *

From exam_marks

Where student_id in

(Select student_id

From student

Where city = ‘Воронеж’);

 

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

 

Select count distinct(subj_id), mark

From exam_marks

Group by mark

Having mark >

(Select avg(mark)

From exam_marks

Where student_id = 301);

 

Таблицы

 

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

 

Создание таблицы

 

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

Упрощенный синтаксис команды:

Create table <name_table>

(Описание полей таблицы);

 

Описание полей таблицы:

Name {<тип_данных> | Computed [by](<выражение>) | <имя домена>}

[Default { literal | Null | User}]

[not null]

[<ограничение столбца>];

 

Name – заголовок столбца

Computed [by] – выражение для вычисляемого столбца. Значения вычисляемых столбцов рассчитываются всякий раз при обращении к ним. Выражение может быть любым допустимым в InterBase выражением, возвращающим единственное значение простого типа. Допустимы выражения с предложением SELECT.

Ограничения столбца – описывает ограничения логической целостности столбца.

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

[Constraint <имя ограничения>]

{ Unique

| Primary key

| Check (<условие>)

| References <имя другой таблицы> [(список атрибутов)]

[On delete {No action | Cascade | Set default | Set null}]

[On update {No action | Cascade | Set default | Set null}]

}

 

 

Информационные системы, основные функции и области применения

 

В основе решения многих задач лежит обработка информации. Для облегчения обработки информации создаются ИС.

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

По целевым функциям ИС делятся: на управляющие, информационно-справочные и поддержки принятия решений.

Узкая трактовка ИС - это аппаратно-программные средства, задействованные для решения некоторых прикладных задач.

 



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 1986; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.46.36 (0.26 с.)