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

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

15. Сортировка. Поиск данных.Сортировка набора данных .Сортировка заключается в упорядочивании записей по определенному полю в порядке возрастания или убывания содержащихся в нем значений. Сортировку можно выполнять и по нескольким полям.
Сортировка наборов данных Table выполняется автоматически по текущему индексу. При смене индекса происходит автоматическое переупорядочивание записей. Направление сортировки определяет параметр ixDescending текущего индекса, по умолчанию он выключен, и упорядочивание выполняется в порядке возрастания значений. Если для индекса признак ixDescending включен, то сортировка выполняется в порядке убывания значений. Поля, по которым сортируются записи, устанавливаются через свойство IndexName. При отсутствии сортировки этому свойству присваивается пустая строка. Для таблиц Paradox это означает сортировку по первому полю. Для таблиц dBase записи располагаются в порядке их поступления в файл таблицы.
Список полей, по которым выполняется сортировка, указывается в операнде ORDER BY. Порядок полей в этом операнде определяет порядок сортировки: сначала записи упорядочиваются по значениям поля, указанного в этом списке первым, затем записи, имеющие одинаковое значение первого поля, упорядочиваются по второму полю и т. д.
Поля в списке обозначаются именами или номерами, которые соответствуют номерам в списке полей после слова SELECT.
По умолчанию сортировка происходит в порядке возрастания значений полей. Для указания обратного порядка сортировки по какому-либо полю нужно указать после имени этого поля описатель DESC. Поиск записей.Поиск — это нахождение записи, удовлетворяющей определенным условиям, и возврат значений ее полей с возможным переходом на найденную запись. Отметим, что поиск можно вести по одним полям, а возвращать значения других полей. Составы полей для поиска и для возврата значений в общем случае не совпадают.При организации поиска записей важное значение имеет наличие индекса для полей, по которым ведется поиск. Индексирование значительно повышает скорость обработки данных, кроме того, ряд методов может работать только с индексированными полями.R средствам поиска можно отнести методы FindFirst, FindLast, FindNext и FindPrior, осуществляющие переход на записи, удовлетворяющие условиям фильтра.

17. Первоначально SQL был задуман как язык интерактивных запросов, но сейчас он вышел далеко за рамки чтения данных. SQL является полноценным и логичным языком, предназначенным для следующих целей: 1. создание базы данных; 2. управление ее защитой; 3. изменение ее содержимого; 4. чтение данных; 5.совместное использование данных несколькими пользователями, работающими параллельно. Приемы, освоенные при изучении одного раздела языка, могут затем применяться в других командах, что повышает производительность работы пользователей.

16. Представление — виртуальная (логическая) таблица, представляющая собой поименованный запрос (алиас к запросу), который будет подставлен как подзапрос при использовании представления.В отличие от обычных таблиц реляционной БД, представление не является самостоятельной частью набора данных, хранящегося в базе. Содержимое представления динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице БД немедленно отражается в содержимом всех представлений, построенных на основании этой таблицы.Способ создания и содержимое представленийТипичным способом создания представлений для СУБД, поддерживающих язык запросов SQL, является связывание представления с определённым SQL-запросом. Соответственно, содержимое представления — это результат выполнения этого запроса, а возможности построения представления ограничиваются только степенью сложности диалекта SQL, поддерживаемого конкретной СУБД. Так, для типичных СУБД, таких как PostgreSQL, Interbase, Firebird, Microsoft SQL Server, Oracle, представление может содержать:1.подмножество записей из таблицы БД, отвечающее определённым условиям (например, при наличии одной таблицы «Люди» можно создать два представления «Мужчины» и «Женщины», в каждом из которых будут записи только о людях соответствующего пола);2.подмножество столбцов таблицы БД, требуемое программой (например, из реальной таблицы «Сотрудники» представление может содержать по каждому сотруднику только ФИО и табельный номер);3.результат обработки данных таблицы определёнными операциями (например, представление может содержать все данные реальной таблицы, но с приведением строк в верхний регистр и обрезанными начальными и концевыми пробелами);4.результат объединения (join) нескольких таблиц (например, при наличии таблиц «Люди», «Адреса», «Улицы», «Фирмы и организации» возможно построение представления, которое будет выглядеть как таблица, для каждого человека содержащее его личные данные, адрес места жительства, название организации, где он работает, и адрес этой организации);5.результат слияния нескольких таблиц с одинаковыми именами и типами полей, когда в представлении попадают все записи каждой из сливаемых таблиц (возможно, с исключением дублирования);6.результат группировки записей в таблице (например, при наличии таблицы «расходы» с записями по каждому платежу можно построить представление, содержащее средства, израсходованные на каждую отдельную статью расходов);практически любую комбинацию вышеперечисленных возможностей.

19)Типы запросов данных.Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными 1)SELECT – выбрать строки из таблиц; 2)INSERT – добавить строки в таблицу; 3)UPDATE – изменить строки в таблице; 4)DELETE – удалить строки в таблице;Каждый из этих запросов имеет различные операторы и функции, которые используются для того, чтобы произвести какие-то действия с данными . Запрос SELECT имеет самое большое количество опций. Существуют также дополнительные типы запросов, используемых вместе с SELECT, типа JOIN и UNION. Но пока, мы сосредоточимся только на основных запросах. Использование запроса SELECT для выборки нужных данных.Чтобы получить информацию, хранящуюся в базе данных используется запрос SELECT. Базовое действие этого запроса ограничено одной таблицей, хотя существуют конструкции, обеспечивающие выборку с нескольких таблиц одновременно. Для того, чтобы получить все строки данных для специфических столбцов, используется запрос такого вида: SELECT * FROM table_name. Использование запроса INSERT для вставки новых данных.Запрос INSERT используется для создания новой строки данных. Примерный синтаксис запроса INSERT: INSERT INTO table_name (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’); Запрос UPDATE и условие WHERE: UPDATE используется для того, чтобы изменить существующие значения или освободить поле в строке, поэтому новые значения должны соответствовать существующему типу данных и обеспечивать приемлемые значения. Если вы не хотите изменить значения во всех строках, то нужно использовать условие WHERE. UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;Вы можете использовать WHERE для любого столбца, включая тот, который хотите изменить. Это используется когда необходимо заменить одно определенное значение на другое. UPDATE table_name SET FirstName = ‘Василий’ WHERE FirstName = ‘Василий’ AND LastName = ‘Пупкин’;Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно единственное поле, то нужно использовать запрос UPDATE и установить для этого поля значение, которое будет являться аналогом NULL в вашей программе. Будьте внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете потерять все содержимое таблицы. DELETE FROM table_name WHERE column1 = ‘data1’;Как только строка была удалена из вашей базы данных, она не подлежит восстановлению   20.Большинство СУБД используют язык SQL язык структурированных запросов), так как он удобен для описания логических подмножеств БД .Назначение SQL:1) создание БД и таблицы с полным описанием их структуры;2) выполнение основных операций манипулирования данными (такие как вставка, модификация и удаление данных из таблиц); 3) выполнение простых и сложных запросов.Одна из ключевых особенностей языка SQL заключается в том, что с его помощью формируются запросы, описывающие какую информацию из базы данных необходимо получить, а пути решения этой задачи программа определяет сама    

21.SQL-запрос на выборку записей из нескольких таблиц. выборка из одной таблицы, то всё было очень просто:SELECT названия_нужных_полей FROM название_таблицы WHERE условие_выборки

но при выборке сразу из нескольких таблиц становится всё несколько сложнее. Одна из трудностей - это совпадение имён полей. Например, в каждой таблице есть поле id.

SELECT * FROM table_1, table_2 WHERE table_1.id > table_2.user_id

Подобный запрос заменит 2 SQL-запроса: на выборку отдельно из таблицы с товарами и из таблицы с пользователями. Вдобавок, такой запрос сразу поставит в соответствие пользователя и его товар.SELECT * FROM users, products WHERE users.id = products.owner_id

Алгоритм здесь уже несложный: берётся первая запись из таблицы users. Далее берётся её id и анализируются все записи из таблицыproducts, добавляя в результат те, у которых owner_id равен id из таблицы users. Таким образом, на первой итерации собираются все товары у первого пользователя. На второй итерации собираются все товары у второго пользователя и так далее.

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

 

22. Типы запросов данных.Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными 1)SELECT – выбрать строки из таблиц; 2)INSERT – добавить строки в таблицу; 3)UPDATE – изменить строки в таблице; 4)DELETE – удалить строки в таблице;Каждый из этих запросов имеет различные операторы и функции, которые используются для того, чтобы произвести какие-то действия с данными. Запрос SELECT имеет самое большое количество опций. Существуют также дополнительные типы запросов, используемых вместе с SELECT, типа JOIN и UNION. Но пока, мы сосредоточимся только на основных запросах. Использование запроса SELECT для выборки нужных данных.Чтобы получить информацию, хранящуюся в базе данных используется запрос SELECT. Базовое действие этого запроса ограничено одной таблицей, хотя существуют конструкции, обеспечивающие выборку с нескольких таблиц одновременно. Для того, чтобы получить все строки данных для специфических столбцов, используется запрос такого вида: SELECT * FROM table_name. Использование запроса INSERT для вставки новых данных.Запрос INSERT используется для создания новой строки данных. Примерный синтаксис запроса INSERT: INSERT INTO table_name (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’); Запрос UPDATE и условие WHERE: UPDATE используется для того, чтобы изменить существующие значения или освободить поле в строке, поэтому новые значения должны соответствовать существующему типу данных и обеспечивать приемлемые значения. Если вы не хотите изменить значения во всех строках, то нужно использовать условие WHERE. UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;Вы можете использовать WHERE для любого столбца, включая тот, который хотите изменить. Это используется когда необходимо заменить одно определенное значение на другое. UPDATE table_name SET FirstName = ‘Василий’ WHERE FirstName = ‘Василий’ AND LastName = ‘Пупкин’;Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно единственное поле, то нужно использовать запрос UPDATE и установить для этого поля значение, которое будет являться аналогом NULL в вашей программе. Будьте внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете потерять все содержимое таблицы. DELETE FROM table_name WHERE column1 = ‘data1’;Как только строка была удалена из вашей базы данных, она не подлежит восстановлению