
- •Принципы построение бд. Понятие бд
- •Классификация бд
- •Понятие правильной базы данных
- •Этапы разработки бд
- •Этапы разработки бд. Определение типа информации, которая должна быть учтена в базе данных
- •Этапы разработки бд. Разбиение информации на объекты (сущности) и атрибуты
- •Этапы разработки бд. Отображение системы объектов (сущности) и их атрибутов на таблицы и столбцы.
- •Этапы разработки бд. Определение атрибутов, однозначно идентифицирующих каждый объект.
- •Создание и редактирование таблиц с помощью Database Desktop
- •DataBase Desktop. Описание полей. Задание индексов.
- •Использование механизма bde.
- •16. Преимущества и недостатки использования в приложениях механизма bde.
- •17. Варианты архитектуры для bde. Локальная архитектура. Архитектура «Файл-сервер».
- •1. Локальная архитектура
- •2. Архитектура «Файл-сервер».
- •18. Варианты архитектуры для bde. Архитектура «Клиент-сервер» (толстый клиент).
- •19. Варианты архитектуры для bde. Архитектура «Клиент-сервер» (тонкий клиент).
- •20. Использование компонента Ттаble. Свойства компонента Таblе.
- •21. Режимы наборов данных.
- •22. Создание таблицы утилитой Database Desktop. Создание.
- •23. Связывание таблиц Paradox (Items и Category).
- •24. Навигация по набору данных.
- •25. Поля в таблице базы данных. Объекты поля (Fields).
- •31.Способ фильтрации набора данных с использованием свойств Filter, Filtered и FilterOptions.
- •32. Поиск информации методами SetKey (или EditKey) и GotoKey.
- •34.Поиск информации методом Locate и Lookup.
- •35. Поиск информации методами FindFirst, FindPrior, FindNext и Find.
- •36. Способы сортировки.
- •37. Методы, используемые для изменения данных.
- •38. Состояние набора данных. Свойство State.
- •39. Свойства компонента tDataSource.
- •40. События DataSource.
- •41. Свойства класса tField.
- •43. Организация связи между таблица. Главная/подчиненная.
- •44. Режим кэширования изменений.
- •45. Основные сведения о языке sql.
- •46. Основные операции над таблицами в sql.
- •47. Основы синтаксиса языка sql.
- •48. Основные правила языка sql.
- •49. Оператор выбора Select.
- •50. Операции с записями в sql.
- •51. Операции с таблицами в sql.
- •52. Операции с индексами в sql.
- •53. Компонент Query. Общие сведения.
- •54. Статические и динамические запросы.
- •55. Основные свойства Query, связывание таблиц.
- •56. Основные методы компонента Query.
- •57. Формирование произвольных запросов sql.
- •58. Транзакции и проблемы многопользовательского режима работы.
- •59. Управление транзакциями, компонент Database.
- •60. Сервер InterBase. Организация данных.
- •61. Хранимые на сервере процедуры. Создание и изменение хранимых процедур.
- •62. Сервер InterBase. Виды хранимых процедур.
47. Основы синтаксиса языка sql.
"Программа" на языке SQL представляет собой простую линейную последовательность операторов языка SQL. Язык SQL в своем "чистом" виде операторов управления порядком выполнения запросов к БД (типа циклов, ветвлений, переходов) не имеет. Операторы языка SQL строятся с применением:
зарезервированных ключевых слов;
идентификаторов (имен) таблиц и столбцов таблиц;
логических, арифметических и строковых выражений, используемых для формирования критериев поиска информации в БД и для вычисления значений ячеек результирующих таблиц;
идентификаторов (имен) операций и функций, используемых в выражениях.
Все ключевые слова, имена функций и, как правило, имена таблиц и столбцов представляются 7-мибитными символами кодировки ASCII (иначе говоря - латинскими буквами). В языке SQL не делается различия между прописными (большими) и строчными (маленькими) буквами, т.е., например, строки "SELECT", "Select", "select" представляют собой одно и то же ключевое слово. Для конструирования имен таблиц и их столбцов допустимо использовать буквы, цифры и знак "_" (подчеркивание), но первым символом имени обязательно должна быть буква. Запрещено использование ключевых слов и имен функций в качестве идентификаторов таблиц и имен столбцов. Полный список ключевых слов и имен функций (а он весьма обширен) можно найти в документации на конкретную СУБД. Оператор начинается с ключевого слова-глагола (например, "CREATE" - создать, "UPDATE" - обновить, "SELECT" - выбрать и т.п.) и заканчивается знаком ";" (точка с запятой). Оператор записывается в свободном формате и может занимать несколько строк. Допустимыми разделителями лексических единиц в операторе являются:
один или несколько пробелов,
один или несколько символов табуляции,
один или несколько символов "новая строка".
48. Основные правила языка sql.
Для SQL характерна свободная форма написания: не существует правил относительно количества слов, которое можно поместить на одну строку, или относительно того, где необходимо прервать строку. Однако, для удобства чтения, все примеры и синтаксис операторов в этом пособии сделаны таким образом, чтобы каждое предложение оператора начиналось с новой строки. Предложения, имеющие более одной части, располагаются с отступом на дополнительных строках.
49. Оператор выбора Select.
Язык запросов (Data Query Language) в SQL состоит из единственного оператора SELECT. Этот единственный оператор поиска реализует все операции реляционной алгебры. Как просто, всего один оператор. Однако писать запросы на языке SQL (грамотные запросы) сначала совсем не просто. Надо учиться, так же как надо учиться решать математические задачки или составлять алгоритмы для решения непростых комбинаторных задач. Один и тот же запрос может быть реализован несколькими способами, и, будучи все правильными, они, тем не менее, могут существенно отличаться по времени исполнения, и это особенно важно для больших баз данных.
Синтаксис оператора SELECT имеет следующий вид:
SELECT [ALL | DISTINCT] «писок полей>|*)
FROM <Список таблиц>
[WHERE <Предикат-условие выборки или соединения>]
[GROUP BY <Список полей результата>]
[HAVING <Предикат-условие для группы>]
[ORDER BY <Список полей, по которым упорядочить вывод>]
Здесь ключевое слово ALL означает, что в результирующий набор строк включаются все строки, удовлетворяющие условиям запроса. Значит, в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений (в отличие от реляционной алгебры, где по умолчанию предполагается отсутствие дубликатов в каждом результирующем отношении). Ключевое слово DISTINCT означает, что в результирующий набор включаются только различные строки, то есть дубликаты строк результата не включаются в набор.
Символ *. (звездочка) означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса.
В разделе FROM задается перечень исходных отношений (таблиц) запроса.
В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре.
В разделе GROUP BY задается список полей группировки.
В разделе HAVING задаются предикаты-условия, накладываемые на каждую группу.
В части ORDER BY задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующем отношении. Например, если первым полем списка будет указана Фамилия, а вторым Номер группы, то в результирующем отношении сначала будут собраны в алфавтном порядке студенты, и если найдутся однофамильцы, то они будут расположены в порядке возрастания номеров групп.