
- •Структуры данных. Стек. Очередь. Список.
- •Методы сортировки. Примеры алгоритмов.
- •Поиск данных в массивах и в файлах. Примеры алгоритмов.
- •Доступ к бд средс-ми php
- •1. Поддержка баз данных в рнр.
- •Технология Microsoft .Net. Особенности, основные положения и характеристики.
- •2. Основные функциональные средства управления сеансом.
- •5. Получение и обработка результатов запроса
- •6.Отсоединение от бд
- •7. Освобождение ресурсов
- •Объектно-ориентированное программирование средствами с#.
- •Создание Windows-приложений средствами с##.
- •Виртуальные функции и полиморфизм. Реализация на с#. Примеры.
- •Элементы контроля в c#. Примеры.
- •Технология ole-db и ado для работы с базами данных.
- •Правила целостности реляционной модели баз данных. Основные операции реляционной алгебры.
- •Нормализация таблиц.1-я, 2-я, 3-я нормальные формы.
- •Общая концепция языка sql. Особенности построения sql-запросов
- •3.3.2. Целостность сущностей
- •3.3.3. Ссылочная целостность
- •3.3.4. Корпоративные ограничения целостности
- •Языки доступа к данным в реляционной субд,основные возможности; их отличия. Примеры.
- •Основные возможности языка sql при выборе данных из бд
- •Основные команды компонента ddl языка sql. Примеры создания, удаления таблиц и модификации структуры таблицы.
- •Хранимые процедуры. Разработка хранимых процедур на ms sql Server
- •Понятие транзакции. Управление параллельностью.
- •Распределенные бд и системы управления распределенными бд.
- •13.Понятие интерфейса. Интерфейс и его реализация. Примеры на диаграмме классов.
Общая концепция языка sql. Особенности построения sql-запросов
SQL структуризованный язык запросов, ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
SQL поддерживает: предложения определения данных (определение баз данных, а также определение и уничтожение таблиц и индексов); запросы на выбор данных (предложение SELECT); предложения модификации данных (добавление, удаление и изменение данных); и другие). Кроме того, он предоставляет возможность выполнять в этих предложениях: арифметические вычисления (включая разно-образные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов; упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея; запоминание выводимого по запросу содержимого таблицы, нескольких таблиц или представления в другой таблице (реляционная операция присваивания). группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п.
Команды SQL:
1. Создать табл.
CREATE TABLE table name (
`a` TINYINT UNSIGNED,
`b` TINYINT UNSIGNED,
`c` TINYINT UNSIGNED)
2. SELECT <список полей> FROM <список названий таблиц> [WHERE <список условий>] [ORDER BY <список полей>];
SELECT a,c FROM table name;
3. INSERT INTO users (login, password) VALUES ('hawker', 'qwerty');
4. UPDATE users SET password='asdfg' WHERE login='hawker';
5. DELETE FROM users WHERE login='hawker';
6. DROP TABLE users – удаление таблицы;
потребуется либо ввести какие-то ложные данные, либо создать дополнительные атрибуты, которые могут быть бессмысленными для пользователей. В данном примере можно попробовать представить отсутствующий комментарий с помощью значения -1. Кроме того, можно добавить в отношение Viewing еще один атрибут — "Имеется ли комментарий?" — со значением Y (Yes), если комментарий есть, и N (No) — в противном случае. Однако оба этих подхода могут запутать пользователя.
Применение определителя NULL может вызвать проблемы на этапе реализации. Трудности возникают из-за того, что реляционная модель основана на исчислении предикатов первого порядка, которое обладает двузначной, или булевой, логикой, т.е. допустимыми являются только два значения: истина и ложь. Применение определителя NULL означает, что придется вести работу с логикой более высокого порядка, например трехзначной или даже четырехзначной (Codd, 1986, 1987, 1990).
Использование понятия NULL в реляционной модели является спорным вопросом. Кодд (1990) рассматривает понятие NULL как составную часть этой модели, а другие специалисты считают этот подход неправильным, полагая что проблема отсутствующей информации еще не до конца понята, удовлетворительное ее решение не найдено, а потому включение определителя NULL в реляционную модель является преждевременным (Date, 1995). Следует отметить, что не во всех реляционных системах поддерживается работа с определителем NULL.
Теперь можно приступать к изучению реляционных ограничений целостности.