- •Вопросы к экзамену по дисциплине «бд и субд»
- •Раскройте понятие базы данных. Перечислите и раскройте функции субд.
- •Функции субд:
- •Ранние подходы к организации субд.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки иерархической модели данных и охарактеризуйте их.
- •Дайте определение термина «модель данных». Охарактеризуйте сетевую модель данных.
- •Преимущества
- •Недостатки
- •Дайте определение термина «модель данных». Охарактеризуйте объектно-ориентированную модель.
- •Дайте определение термина «модель данных». Охарактеризуйте многомерную модель данных.
- •Дайте определение термина «модель данных». Охарактеризуйте постреляционную модель данных.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки реляционной модели данных.
- •Назовите элементы реляционной модели данных. Опишите условия, при которых таблица считается отношением.
- •Раскройте понятия: индексирование, связывание таблиц. Дайте характеристику бинарному типу связей между таблицами.
- •Дайте определение термина «ключ». Перечислите и охарактеризуйте виды ключей.
- •Перечислите и опишите типы отношений между таблицами.
- •Раскройте понятия: простой, составной индекс. Перечислите типы индексов в foxpro.
- •Выскажите общие суждения о нормализации данных. Объясните необходимость нормализации.
- •Перечислите и охарактеризуйте операции реляционной алгебры:
- •Приведите классификацию программ, относящихся к субд. По модели данных:
- •По архитектуре субд и организации хранения данных:
- •По способу доступа субд к базе данных:
- •Транзакции. Управление транзакциями.
- •Функции и основные возможности языка sql. Лекция 13. Язык sql. Функции и основные возможности
- •13.1. Sequel/sql субд System r
- •13.1.1. Запросы и операторы манипулирования данными
- •13.1.2. Операторы определения и манипулирования схемой бд
- •13.1.3. Определения ограничений целостности и триггеров
- •13.1.4. Представления базы данных
- •13.1.5. Определение управляющих структур
- •13.1.6. Авторизация доступа к отношениям и их полям
- •13.1.7. Точки сохранения и откаты транзакции
- •13.1.8. Встроенный sql
- •13.1.9. Динамический sql
- •Перечислите и дайте краткую характеристику объектам субд foxpro.
- •Опишите процесс создания проекта и базы данных в foxpro. Перечислите и охарактеризуйте типы полей в foxpro, соглашение по именам переменных.
- •Прокомментируйте этапы создания и редактирования таблиц в foxpro.
- •Опишите процесс определения отношений между таблицами и обеспечения целостности данных.
- •Перечислите характеристики объектно-ориентированного программирования.
- •Дайте характеристику многоколончатым отчётам и отчётам в свободной форме.
- •Выскажите суждение об использовании ole-объектов, каким образом осуществляется экспорт и импорт данных.
- •Выскажите суждение об использовании библиотек классов при разработке приложений.
- •Выскажите суждение об использовании active-X компонентов для разработки приложений.
- •Опишите создание классов.
- •Назовите типы справки в foxpro. Прокомментируйте этапы создания справочной системы.
- •Опишите процесс создания приложения.
- •Перечислите типы отчетов. Изложите способы создания отчётов.
- •Раскройте возможности использования библиотек классов при разработке приложений.
- •Охарактеризуйте 1nf, 2nf, 3nf.
- •Опишите процесс создания программ в foxpro, организации процедур и функций.
- •Перечислите операторы и выражения. Опишите их использование.
- •Раскройте понятия «переменная», «константа». Опишите область действия переменных.
- •Перечислите и опишите команды открытия, закрытия таблиц и перемещения по записям.
- •Дайте характеристику фильтрации данных в foxpro.
- •Изложите способы упорядочивания записей и поиска с помощью индексирования.
- •Укажите назначение форм. Прокомментируйте процесс создания экранных форм различными способами.
- •Поясните термин «форма». Объясните использование элементов управления на форме, размещение полей из нескольких таблиц.
- •Перечислите и опишите типы запросов. Охарактеризуйте возможности запросов, вызывающих изменения в таблицах базы данных. Опишите процесс создания визуальных запросов.
- •Перечислите команды манипулирования данными языка sql. Опишите создание sql-запросов: выборка данных с использованием группировки, условия выборки и условия поиска.
- •Создание базовых запросов на выборку в режиме конструктора
- •Объединение запросов на выборку в режиме sql
- •Приведите пример использования команды select при создании запросов. Опишите создание sql-запросов: изменение, вставка и удаление записей.
- •Опишите создание итоговых запросов, перекрёстных таблиц, диаграмм.
- •Перечислите типы отчетов. Изложите способы создания отчётов. Поясните термин «многотабличный отчет», опишите способы его создания.
- •Дайте характеристику многоколончатым отчётам и отчётам в свободной форме.
- •Поясните термин «представление данных». Прокомментируйте этапы создания представлений данных.
- •Опишите способы использования представлений данных в отчётах и для редактирования информации. Прокомментируйте этапы создания меню приложения.
- •Объясните использование grid-объектов при создании многотабличных форм.
- •Охарактеризуйте объекты pageframe и formset для организации интерфейса.
- •Перечислите свойства таблицы. Охарактеризуйте проверку условий достоверности ввода данных.
- •Прокомментируйте процесс создания триггеров и хранимых процедур. Предложение create trigger
- •Механизм доступа к данным bde.
- •Технология interbase express.
- •Технология dbexpress.
- •Раскрыть понятие архитектуры «клиент-сервер».
- •Преимущества архитектуры «клиент-сервер».
- •Трехзвенная архитектура.
Объединение запросов на выборку в режиме sql
На вкладке Создание в группе Другие щелкните Конструктор запросов.
В режиме конструктора откроется новый запрос.
Закройте диалоговое окно Добавление таблицы.
На вкладке Структура в группе Запрос щелкните Объединение.
Окно макета запроса будет скрыто, появится вкладка объекта режима SQL. На этом этапе вкладка объекта режима SQL пуста.
Щелкните вкладку для первого запроса на выборку, который нужно включить в запрос на объединение.
На вкладке Главная в группе Представления щелкнитеПредставление, а затем — SQL.
Появится инструкция SQL для запроса на выборку.
Скопируйте инструкцию SQL для запроса на выборку.
Щелкните вкладку для запроса на объединение, создание которого было начато в шаге 1 данной процедуры.
Вставьте инструкцию SQL запроса на выборку во вкладку объекта режима SQL для запроса на объединение.
Удалите знак «точка с запятой» (;), находящийся в конце инструкции SQL для запроса на выборку.
Нажмите клавишу ВВОД, чтобы переместить каретку на одну строку вниз, и введите на новой строке UNION.
При желании введите знак пробела и ключевое слово ALL, а затем снова нажмите клавишу ВВОД.
Щелкните вкладку для следующего запроса на выборку, который нужно включить в запрос на объединение.
Повторяйте шаги 5—11 процедуры, пока все инструкции SQL для запросов на выборку не будут скопированы в окно режима SQL запроса на объединение. Не удаляйте точку с запятой в инструкции SQL последнего запроса на выборку и ничего не вводите после этого запроса.
На вкладке Конструктор в группе Результаты выберите командуЗапуск.
Результаты выполнения запроса на объединение будут отображены в режиме таблицы.
Приведите пример использования команды select при создании запросов. Опишите создание sql-запросов: изменение, вставка и удаление записей.
Оператор SELECT – один из наиболее важных и самых распространенных операторов SQL. Он позволяет производить выборки данных из таблиц и преобразовывать к нужному виду полученные результаты. Будучи очень мощным, он способен выполнять действия, эквивалентные операторам реляционной алгебры, причем в пределах единственной выполняемой команды. При его помощи можно реализовать сложные и громоздкие условия отбора данных из различных таблиц.
Оператор SELECT – средство, которое полностью абстрагировано от вопросов представления данных, что помогает сконцентрировать внимание на проблемах доступа к данным. Примеры его использования наглядно демонстрируют один из основополагающих принципов больших (промышленных) СУБД: средства хранения данных и доступа к ним отделены от средств представления данных. Операции над данными производятся в масштабе наборов данных, а не отдельных записей.
Оператор SELECT имеет следующий формат:
SELECT [ALL | DISTINCT ] {*|[имя_столбца
[AS новое_имя]]} [,...n]
FROM имя_таблицы [[AS] псевдоним] [,...n]
[WHERE <условие_поиска>]
[GROUP BY имя_столбца [,...n]]
[HAVING <критерии выбора групп>]
[ORDER BY имя_столбца [,...n]]
Оператор SELECT определяет поля (столбцы), которые будут входить в результат выполнения запроса. В списке они разделяются запятыми и приводятся в такой очередности, в какой должны быть представлены в результате запроса. Если используется имя поля, содержащее пробелы или разделители, его следует заключить в квадратные скобки. Символом * можно выбрать все поля, а вместо имени поля применить выражение из нескольких имен.
Если обрабатывается ряд таблиц, то (при наличии одноименных полей в разных таблицах) в списке полей используется полная спецификация поля, т.е. Имя_таблицы.Имя_поля.
Для начала SQL-запрос на добавление новой записи в таблицу:
INSERT INTO users (login, pass) values('TestUser', '123456')
При добавлении записи вначале идёт команда "INSERT INTO", затем название таблицы, в которую мы вставляем запись. Далее идёт в круглых скобках названия полей, которые мы хотим заполнить. А затем в круглых скобках после слова "values" начинаем перечислять значения тех полей, которые мы выбрали. После выполнения этого запроса в нашей таблице появится новая запись.
Иногда требуется обновить запись в таблице, для этого существует следующий SQL-запрос:
UPDATE users SET login = 'TestUser2', pass='1234560' WHERE login='TestUser'
Данный запрос является более сложным, так как он имеет конструкцию "WHERE", но о ней чуть ниже. Вначале идёт команда "UPDATE", затем имя таблицы, а после "SET" мы описываем значения всех полей, которые мы хотим изменить. Было бы всё просто, но встаёт вопрос: "А какую именно запись следует обновлять?". Для этого существует "WHERE". В данном случае мы обновляем запись, поле "login" у которой имеет значение "TestUser". Обратите внимание, что если таких записей будет несколько, то обновятся абсолютно все! Это очень важно понимать, иначе Вы рискуете потерять свою таблицу.
Давайте немного ещё поговорим о "WHERE". Помимо простых проверок на равенство существуют так же и неравенства, а также логические операции: AND и OR.
UPDATE users SET login = 'TestUser2', pass='1234560' WHERE id < 15 AND login='TestUser'
Данный SQL-запрос обновит те записи, id которых меньше 15 И поле "login" имеет значение "TestUser". Надеюсь, Вы разобрались с конструкцией "WHERE", потому что это очень важно. Именно "WHERE" используется при выборке записей из таблиц, а это самая частоиспользуемая задача при работе с базами данных.
И, напоследок, простой SQL-запрос на удаление записей из таблицы:
DELETE FROM users WHERE login='TestUser2'
После команды "DELETE FROM" идёт имя таблицы, в которой требуется удалить записи. Дальше описываем конструкцию "WHERE". Если запись будет соответствовать описанным условиям, то она будет удалена. Опять же обратите внимание, в зависимости от количества записей, удовлетворяющих условию после "WHERE", может удалиться любое их количество.