ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.01.2025
Просмотров: 2241
Скачиваний: 3
СОДЕРЖАНИЕ
8. Типы структур ис. Их характеристики, достоиства, недостатки.
3. Клиент серверная архитектура.
9. Определение реляционной модели данных, характеристика ее основных элементов.
10. Основные подходы к проектированию структур данных и проблемы определения структур данных.
14. Формирование отношений для связи 1:м при кп обязательном для м связной сущности.
15. Формирование отношений для связи 1:м при кп необязательном для м-связной сущности.
16. Формирование отношений для связи м:м.
17. Этапы проектирования и назначение диаграммы er-экземпляров и er-типа.
18. Фильтрация записей. Фильтрация по выражению.
19. Фильтрация записей. Фильтрация по диапазону.
21. Схема взаимодействия компонентов при проектировании бд в Delphi.
Связь этих компонентов друг с другом и с базой данных можно представить схемой приведенной ниже:
22. Основные этапы создания приложения бд в Delphi.
23. Назначение компонента tDataSource в создании бд. Основные свойства и методы компонента.
24. Назначение компонента тТablе в создании бд. Основные свойства и методы компонента.
25. Приёмы работы с набором данных(нд). Состояния набора данных. Метод State.
28. Назначение компонента tdbGrid в создании бд. Основные свойства и методы компонента.
30. Методы поиска записей в наборе данных. Метод Locate.
31. Методы поиска записей в наборе данных. Метод Lookup.
32. Методы поиска записей в наборе данных. Методы FindKey и FindNearest(инкрементный поиск записей).
33. Отображение и редактирование данных. Классификация компонентов отображения данных.
34. Назначение компонента tQuery- Основные свойства и методы.
36.Основные операторы языка sql. Оператор select: назначение, формат оператора.
38. Использование оператора select для сортировки нд и устранения повторяющихся значений.
39. Использование оператора select для расчета вычисляемых столбцов и группировки записей.
41. Использование оператора select для внешнего соединения. Формат запроса.
42. Операторы insert, delete, update. Форматы операторов и назначение.
43. Ссылочная целостность таблиц бд и механизмы ее осуществления. Понятие транзакции.
46. Использование bde Administrator при создании бд.
47. Роль индексов в субд. Определение индексов. Связывание таблиц бд.
48. Работа с визуальным компонентом tdbGrid и настройка полей таблиц.
49. Навигация по набору данных. Использование визуального компонента tdbNavigator.
50. Создание поля просмотра и вычисляемого поля. Основные проблемы и пути их решения.
FROM Rashod
Вычисление общей стоимости
SELECT SUM (R.Kolvo*T.Cena) as ABS_CENA
FROM Rashod R, Tovary T
WHERE (R.Tovar=T.Tovar) AND (R.DAT_RAS=”18.03.10”)
Общее количество товара на каждую дату
SELECT R.Tovar, SUM (R.Kolvo*T.Cena)
FROM Rashod R, Tovary T
WHERE (R.Tovar=T.Tovar)
Group By R.Tovar, R.Data_Rash
39. Использование оператора select для расчета вычисляемых столбцов и группировки записей.
Для расчета значений вычисляемых столбцов используют арифметические выражения. При этом в списке возвращенных столбцов после SELECT вместо имени вычисляемого столбца указывают выражение, которому можно присвоить имя через конструкцию AS <имя нового столбца>.
Группировка записей. Для получения вычисленных или агрегированных значений по группам записей, характеризующихся одинаковыми значениями какого-либо столбца используется конструкция GROUP BY, которая автоматически исключает повтор в полях данных, заданных для группирования, т.к. записи с совпадающими значениями объединяются в 1 группу. При этом необходимо следить, чтобы 1 из столбцов результирующего НД был представлен агрегатной функцией.
SELECT R.Tovar, SUM(R.Kolvo) as Otpusk
FROM Rashod R
GROUP BY R.Tovar
SELECT R.Tovar, SUM(R.Kolvo*Cena) as SUM
FROM Rashod R, Tovary T
WHERE T.Tovar=R.Tovar
GROUP BY R.Tovar
Запрос вычисления стоимости по каждому отпущенному товару на каждую дату.
SELECT R.Tovar, SUM(R.Kolvo*Cena), R.Data_Rash
FROM Rashod R, Tovar T WHERE T.Tovar=R.Tovar
GROUP BY R.Tovar, R.Data_Rash
Еще пример:
SELECT Data_Rash, COUNT(DISTINCT Pokup)
FROM Rashod
GROUP BY R.Data_Rash
Операнд HAVING используется совместно с операндом GROUP BY для отбора записей внутри групп. Правила записи условия группирования аналогичны правилам формирования условию отбора операнда WHERE.
(Она про HAVING не давала вроде).
40. Использование оператора select для задания сложных условий поиска (операторы and, or, not, between).
Усложнить оператор SELECT можно, используя логические выражения, скобки, а так же диапазоны значений. В SQL приоритет сравнения выше, чем приоритет логической операции, а скобки обычно меняют порядок следования.
Использовать логические выражения можно с помощью операторов AND, OR, NOT.
Пример. Включить в запрашиваемый набор данных все записи таблицы RASHOD и для каждого товара указать его цену из таблицы TOVARY, а для каждого покупателя город из таблицы POKUPATELI.
SELECT R.*, T.Cena, P.Adres
FROM Rashod R, Tovary T, Pokupateli P
WHERE (R.Tovar=T.Tovar) AND (R.Pokup=P.Pokup)
Пример. Получим записи из таблицы RASHOD, для которых указано имя покупателя и цена соответствующая товару, количество товаров зададим условием:
SELECT R.*, T.Cena
FROM Rashod R, Tovary T
WHERE (R.Tovar=T.Tovar) AND
(R.Kolvo<=100 OR R.Kolvo>=1000) AND
R.Pokup IS NOT NULL
ORDER BY R.Kolvo
Задав диапазон с помощью служебного слова BETWEEN можно сформировать запрос:
SELECT *
FROM Rashod
WHERE Kolvo BETWEEN 100 AND 1000
41. Использование оператора select для внешнего соединения. Формат запроса.
Внешнее соединение определяется в предложении FROM с помощью следующей конструкции:
SELECT (*/(знач.1),(знач.2)…/)
FROM <табл.1><вид соединения> JOIN <табл.2>
ON <условие поиска>
В таком соединении в результирующий набор данных включаются записи ведущей (главной) таблицы соединения и ведомой (подчиненной) таблицы. Критерий отбора после слова ON задает условие включения записей в набор данных; соединяемые (связываемые) таблицы указываются слева и справа от слова JOIN. Какая из двух таблиц будет главной (ведущей), определяет вид соединения:
LEFT — ведущая таблица слева от JOIN
RIGHT — справа (по умолчанию)
FULL – полное соединение двух таблиц.
Построим внешнее соединение таблицы RASHOD с таблицей POKUPATELI, т.е. найдем покупателя, соответствующего каждой покупке:
SELECT R.DAT_RASH, R.TOVAR, R.KOLVO, P.POKUP, P.GOROD
FROM RASHOD R LEFT JOIN POKUPATELI P
ON R.POKUP=P.POKUP
42. Операторы insert, delete, update. Форматы операторов и назначение.
Вставка записей в таблицу осуществляется с помощью оператора INSERT, который позволяет добавлять к таблицам одну или несколько записей. При добавлении одной записи оператор INSERT имеет формат:
INSERT INTO <Имя таблицы> (<Список полей>) VALUES (<Список значений>)/ <SELECT>;
Указать списки значений можно в явном виде с помощью слова VALUES или с использованием оператора SELECT.
В результате выполнения этого оператора к таблице, имя которой указано после слова INTO, добавляется одна запись. Для добавленной записи заполняются поля, перечисленные в списке. Значения полей берутся из списка, расположенного после слова VALUES. Списки полей и списки значений должны соответствовать друг другу по числу и типу их элементов. При присвоении значений для первого поля берется первое значение, для второго - второе и т.д.
INSERT INTO RASHOD (N_RASH, DAT_RASH, KOLVO, TOVAR, POKUP)
VALUES (17, “01.01.10”, 10, “Принтер”, “Глобус НИИ”)
INSERT INTO <Имя таблицы> (<Список полей>) <оператор SELECT>
Эта форма позволяет создать дополнительную (виртуальную) таблицу, в которую вставляется необходимая запись. При этом новая таблица может быть создана с помощью оператора:
CREATE TABLE <Имя таблицы> (<имя поля 1><тип поля 1>, <имя поля 2><тип поля 2>…)
CREATE TABLE RASHOD_DATA (DATA_RASH date, KOLVO integer, TOVAR varchar(20), POKUP varchar(20), primary key (N_RASH)) – виртуальная таблица.
В этом случае:
INSERT INTO RASHOD_DATA
SELECT *
FROM RASHOD
WHERE DATA_RASH=”01.01.10”
Для удаления записей используется оператор DELETE, имеющий формат:
DELETE FROM <Имя таблицы> [WHERE <Условие отбора>];
Из таблицы, имя которой указано после слова FROM, удаляются все записи, которые удовлетворяют критерию отбора.
DELETE FROM RASHOD
WHERE DATA_RASHOD=”01.01.10”
Редактирование записей - это изменение значений полей в группе записей, Оно выполняется оператором UPDATE:
UPDATE <Имя таблицы> SET <Имя поля>=<Выражение>, <Имя поля>=<Выражение> [WHERE <Условие отбора>];
Во всех записях, удовлетворяющих условию отбора, изменяются значения полей, имя поля указывает модифицируемое поле всей совокупности записей, а выражение определяет значения, которые будут присвоены этому полю.
UPDATE RASHOD
SET CENA=CENA+10
WHERE CENA=100
43. Ссылочная целостность таблиц бд и механизмы ее осуществления. Понятие транзакции.
Связи между данными, хранимыми в разных отношениях, в реляционной БД устанавливаются с помощью использования внешних ключей — для установления связи между кортежем из отношения Aс определённым кортежем отношенияBв предусмотренные для этого атрибуты кортежа отношенияAзаписывается значение первичного ключа целевого кортежа отношенияB. Таким образом, всегда имеется возможность выполнить две операции:
определить, с каким кортежем в отношении B связан определённый кортеж отношения A;
найти все кортежи отношения A, имеющие связи с определённым кортежем отношения B.
Благодаря наличию связей в реляционной БД можно хранить факты без избыточного дублирования, то есть в нормализованном виде. База данных обладает свойством ссылочной целостности, когда для любой пары связанных внешним ключом отношений в ней условие ссылочной целостности выполняется.
Если вышеприведённое условие не выполняется, говорят, что в базе данных нарушена ссылочная целостность. Такая БД не может нормально эксплуатироваться, так как в ней разорваны логические связи между зависимыми друг от друга фактами. Непосредственным результатом нарушения ссылочной целостности становится то, что корректным запросом не всегда удаётся получить корректный результат.
Обязательным (хотя и не достаточным) условием сохранения ссылочной целостности базы данных является поддержка транзакций. Транзакция – одновременное выполнение нескольких изменений в разных таблицах.
Реализация механизма. Механизм транзакций используется для поддержания целостности БД и переводит ее из одного состояния в другое. При выполнении транзакции должны быть произведены изменения в разных таблицах, которые связаны.
Транзакция может быть:
- неявная – запускается и завершается автоматически;
- явная – ей управляет программист.
Для модификации данных (в удаленной БД) может быть использован SQL запрос, выполненный с помощью метода ExecSQL, а явную транзакцию можно использовать в обработчиках событий, отслеживающих изменение главной и подчиненной таблицы БД.