Главная страница
Навигация по странице:

  • Занимаемый объем Описание

  • Тип данных Общее количество цифр

  • ALTER. Синтаксис оператора:ALTER , Оператор может использоваться с следующими типами объектов: DATABASE

  • TABLE

  • INSERT INTO { базовая_таблица | представление} [(столбец1 [, столбец2] ...)] {VALUES ({константа1 | переменная1} [,{константа2 | переменная1}]…)

  • INSERT INTO Abonent (AccountCD, StreetCD, HouseNO, FlatNO, Fio, Phone) VALUES (‘50000’, 8, 1, 1, ‘ ПЛИТОВ Е . Д .’, NULL);.

  • INSERT INTO { базовая_таблица | представление} [(столбец1 [, столбец2] ...)] [RETURNING [INTO ]];.

  • INSERT INTO Fio (Abonent_name, Executor_name) SELECT A.Fio, E.Fio FROM Abonent A, Executor E, Request R WHERE R.AccountCD = A.AccountCD AND

  • INSERT INTO Fio SELECT Abonent_name, Executor_name FROM Abonent_Executor;.

  • INSERT INTO Abonent VALUES (‘50000’, 8, 1, 1, ‘ ПЛИТОВ Е . Д .’, NULL);

  • DELETE FROM {базовая_таблица | представление} [WHERE | WHERE CURRENT OF имя_курсора] [RETURNING [INTO ]];.

  • DELETE FROM Abonent WHERE AccountCD = 005488;.

  • DELETE FROM Request WHERE AccountCD IN (SELECT AccountCD FROM Abonent WHERE Fio = ‘ МИЩЕНКО Е . В .’);.

  • Ответы на билеты по дисциплине Базы данных. Базы данных. Вопросы к экзамену по дисциплине Базы данных


    Скачать 0.68 Mb.
    НазваниеВопросы к экзамену по дисциплине Базы данных
    АнкорОтветы на билеты по дисциплине Базы данных
    Дата07.01.2023
    Размер0.68 Mb.
    Формат файлаdoc
    Имя файлаБазы данных.doc
    ТипВопросы к экзамену
    #875067
    страница3 из 7
    1   2   3   4   5   6   7

    DISK INIT


    NAME = <’Логическое имя’>,

    PSYSNAME = <’Физическое имя’>,

    VDEVNO = <Номер устройства>,

    SIZE = <Размер>

    [, VSTART = <Адрес>]
    Логическое имяэто имя, используемое в SQL-выражениях. Логическое имя должно соответствовать правилам SQL Server на идентификаторы и быть заключено в одинарные кавычки. Вот эти правила:

    • Имя объекта должно иметь длину в пределах от 1 до 30 символов.

    • Первым символом должна быть буква.

    • Имя может содержать буквы, цифры и символы #, $, _.

    • Пробелы запрещаются.

    • Зарезервированные слова Transact-SQL запрещены.

    Физическое имя– это буква дисковода, полный путь и имя файла (устройства). Естественно, что путь должен удовлетворять правилам операционной системы.

    Номер виртуального устройства – это идентификатор устройства. Он может принимать значения от 0 до 255. Идентификатор 0 зарезервирован для устройства master.

    С помощью параметра SIZE устанавливается размер устройства. Размер измеряется в страницах.

    Параметр VSTART необходим только в определенных случаях. Он представляет собой стартовое смещение в страницах.

    Допустим, что мы получили заказ на разработку приложения для учета факультетов, кафедр, преподавателей, студентов и т.д. в нашем университете. Создадим два устройства – для БД и для журнала транзакций.

    DISK INIT

    NAME = ‘facultet’,

    PHYSNAME = ‘c:\mssql\data\facultet.dat’,

    VDEVNO = 11,

    SIZE = 5120

    DISK INIT

    NAME = ‘f_log’,

    PHYSNAME = ‘c:\mssql\data\f_log.dat’,

    VDEVNO = 12,

    SIZE = 5120


    1. Приведите пример команды создания базы данных. Какие системные и числовые типы данных MSSQLServer вам знакомы.

    Шаблоном базы является БД model, поэтому любая вновь созданная БД уже имеет некоторое количество системных таблиц. Команду создания баз данных CREATE DATABASE может выдать только системный администратор.

    Команда CREATE DATABASE имеет следующий синтаксис:

    CREATE DATABASE <Имя БД>

    [ON {DEFAULT | <Имя устройства>} [=<Рразмер>]

    [, <Имя устройства> [=< Размер>]]…]]

    [LOG ON <Имя устройства> [=<Размер>]

    [, <Имя устройства> [=<Размер>]]…]

    [FOR LOAD]

    Чтобы создать базу данных, пользователь должен находиться в БД master(эта БД должна быть открыта и являться текущей ). Этого можно добиться с помощью следующей команды:

    Use master

    При создании БД можно указать устройство, на котором она будет храниться, а также устройство, на котором будет размещаться журнал транзакций.

    CREATE DATABASE faculty

    ON facultet = 10

    LOG ON f_log = 10

    Все предложения команды CREATE DATABASE – опционные, то есть необязательные. Если при создании БД в команде не указано никакое устройство, SQL Server ищет устройство по умолчанию. Устройства по умолчанию назначаются либо с помощью системной процедуры sp_diskdefault, либо с помощью SQL Enterprise Manager. В качестве параметров указанная процедура принимает имя устройства БД и одно из значений defaulton или defaultoff.

    Таблица №1 - Системные типы данных SQL Server



    Тип

    Занимаемый объем

    Описание

    1

    Bynary

    До 1,2 Гб

    Любые данные в двоичном виде. Используется для хранения файла

    2

    Varbinary

    До 1,2 гб

    Любые данные в двоичном виде. Используется для хранения файла

    3

    Tinyint

    1 байт

    Целое положительное число от 0 до 255

    4

    Char

    1 байт на символ

    Символьное выражение; может содержать любые символы (до 254 для одного поля)

    5

    Varchar




    Символьное выражение; может содержать любые символы (до 254 для одного поля)

    6

    Money

    8 байт

    Денежное выражение для числовой величины. Выводит число с четырьмя десятичными разрядами и установленным обозначением используемой денежной единицы

    7

    Datetime

    8 байт

    Дата и время; может содержать время, день, месяц и год, точность 3,33 миллисекунды

    8

    Smalldatetime

    4 байта

    Дата и время; точность 2 минута

    9

    Bit

    1 байт

    Булево выражение ( .T. или .F.)

    10

    Float

    От 1 до 20 байтов

    Числовое выражение; может содержать целые или дробные числа со знаком

    11

    Smallint

    2 байта

    Целое число в диапазоне от –32 768 до +32 767

    12

    Int

    4 байта

    Целое число. Можно хранить числа от –2 147 483 647 до 2 147 483 646

    13

    Image

    4 байта

    Поле для ссылки на объект OLE

    14

    Text

    4 байта

    Поле примечаний для ссылки на блок данных

    15

    Decimal




    Точное числовое значение, которое может иметь до 38 цифр (р); число цифр после запятой (s) не может превышать р

    16

    Numeric




    Точное числовое значение, которое может иметь до 38 цифр (р); число цифр после запятой (s) не может превышать р

    17

    Real

    4 байта

    Число с плавающей точкой одинарной точности. Можно хранить числа в интервале от 1.401298Е-45 до 3.402823Е38


    Таблица №3 - Числовые типы данных



    Тип данных

    Общее количество цифр

    Общее количество цифр по умолчанию

    1

    Decimal[(p[,s])]

    1 – 38

    18

    2

    Numeric[(p[,s])]

    1 – 38

    18

    3

    Float(n)

    1 – 15



    4

    Real

    1 – 7




    5

    Float

    8 – 15




    6

    Double precision

    8 – 15

    15



    1. Приведите пример команды создания таблицы базы данных.

    Программно таблицы создаются с помощью команды CREATE TABLE, которая имеет следующий синтаксис:

    CREATE TABLE [<Имя БД>. [<Имя владельца>].] <Имя таблицы>

    ({<Имя поля> <Свойства поля> [<Ограничения>

    [<Ограничения> […<Ограничения>]]]| [[,]<Ограничения>]}

    [[,] {next_<Имя колонки> | <Ограничения>}…])

    { ON <Имя сегмента>]

    где:

    <Имя БД> - имя базы данных, в которой будет находиться таблица. Можно не указывать данный аргумент, если находитесь в БД, в которой создается таблица.

    <Имя владельца> - владелец создаваемой таблицы.

    <Имя таблицы> - название таблицы, которое должно удовлетворять правилам наименованных объектов SQL Server и быть уникальным в БД. У вас должны быть права на эту операцию. Если у вас есть права на создание таблицы в какой-либо БД, то можно, находясь в ней, создавать таблицы в другой БД, полностью указывая к ней путь в аргумеyте <Имя БД>. В том случае, если не указывается имя пользователя, необходимо ставить вторую точку после имени базы данных:

    CREATE faculty..faculty (f_name char(40))

    <Имя поля> - имя столбца, которое должно удовлетворять правилам SQL Server и быть уникальным в таблице.

    1. Удаление таблицы базы данных. Изменение определения таблицы.

    DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE]

    Этот оператор удаляет таблицу или таблицы из текущей базы данных.

    tbl_name

    - Имя удаляемой таблицы.

    IF EXISTS

    - Если указан этот параметр, то при попытке удаления несущестующей таблицы ошибки не возникнет. В противном случае возникнет ошибка выполнения команды.

    RESTRICT и CASCADE

    - Не несут никакой функциональности. Оставлены для упрощения переноса программы.

    В следующем примере производится удаление таблицы users:

    DROP TABLE `users
    Иногда приходиться выполнять распоряжения по изменению структуры таблицы или всей базы данных. Для этих целей используется оператор ALTER.

    Синтаксис оператора:

    ALTER <тип_объекта>, <имя_объекта>

    Оператор может использоваться с следующими типами объектов: DATABASE (для модификации параметров базы данных), TABLE (для модификации раннее созданных таблиц).

    Параметры передаваемые в ALTER TABLE:

    ADD добавление столбца в таблицу

    DROP удаление столбца из таблицы

    Например:

    ALTER TABLE [dbo].[University]

    ADD

    [CreationDate] [Date] NOT NULL


    1. Перечислите основные этапы создания базы данных в графическом режиме. Что понимается под ER – диаграммой в MSSQLServer.

    Для создания базы данных в окне Object Explorer выбираем объект «Databases» и пункт «New database…». Появиться диалоговое окно создания новой базы данных, где вводим название и нажимаем ОК.

    Для создания таблицы в окне «Object Explorer» выбираем созданную базу данных, и в раскрывшемся списке правой кнопкой мыши нажимаем на пункте «Tables», в котором находим и выделяем пункт «New table…». В рабочей области СУБД MS SQL Server откроется форма для создания таблицы. В столбце Column Name указывается название поля таблицы, в столбце Data Type – указывается тип столбца. В столбце Allow Nulls устанавливается флажок, предоставляющий возможность оставлять ячейку не заполненной (пустой).

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

    Нажимаем на кнопку «Сохранить» и вводим название таблицы.
    Для представления информации о базе можно использовать диаграммы сущность-связь(ER-Diagrams). Обычно каждая таблица в такой диаграмме представлена в виде прямоугольника, содержащего названия столбцов.

    Для создания диаграммы, в окне “Object Explorer” выбираем нашу базу данных, нажимаем правой клавишей мыши на вкладке Database Diagram, и выбираем пункт «New Database Diagram», в котором добавляем все таблицы нашей базы данных.

    Теперь необходимо создать связи (отношения) между таблицами. Проще всего это сделать на ER-Диаграмме.

    1. Перечислите основные команды MSSQL для модификации данных.

    Модификация данных может выполняться с помощью команд:

    • DELETE (удалить),

    • INSERT (вставить),

    • UPDATE (обновить).

    1. Приведите пример использования команды INSET для вставки записей в единственную таблицу.

    Однострочный запрос:

    INSERT INTO { базовая_таблица | представление} [(столбец1 [, столбец2] ...)]

    {VALUES ({константа1 | переменная1} [,{константа2 | переменная1}]…)

    |<табличный_подзапрос>}

    [RETURNING <список_столбцов> [INTO <список_переменных>]];.

    Пример:

    INSERT INTO Abonent (AccountCD, StreetCD, HouseNO, FlatNO, Fio, Phone)

    VALUES (‘50000’, 8, 1, 1, ‘ПЛИТОВ Е.Д.’, NULL);.

    Если в списке предложения VALUES указаны значения для всех столбцов модифицируемой таблицы и порядок их перечисления соответствует порядку столбцов в описании таблицы (как в предыдущем примере), то список столбцов в предложении INTO можно опустить. NULL если неизвестное значение.

    Многострочный запрос, пример:

    INSERT INTO { базовая_таблица | представление} [(столбец1 [, столбец2] ...)]

    <табличный_подзапрос>

    [RETURNING <список_столбцов> [INTO <список_переменных>]];.

    Пример:

    INSERT INTO Fio (Abonent_name, Executor_name)

    SELECT A.Fio, E.Fio

    FROM Abonent A, Executor E, Request R

    WHERE R.AccountCD = A.AccountCD AND

    R.ExecutorCD = E.ExecutorCD;.
    Если ранее было создано представление Abonent_Executor со столбцами abonent_name и executor_name, то предыдущий запрос можно переписать следующим образом:

    INSERT INTO Fio

    SELECT Abonent_name, Executor_name

    FROM Abonent_Executor;.

    1. Каким образом осуществляется вставка пустого значения в ячейку таблицы?

    Если требуется ввести NULL-значение, например, в поле Phone (номер телефона абонента неизвестен), то оно вводится точно так же, как и обычное значение, например:

    INSERT INTO Abonent

    VALUES (‘50000’, 8, 1, 1, ‘ПЛИТОВ Е.Д.’, NULL);

    1. Приведите пример удаления единственной записи таблицы.

    Простой запрос DELETE позволяет удалить содержимое всех строк указанной таблицы или тех ее строк, которые выделяются условием поиска предложения WHERE , и имеет следующий формат:

    DELETE FROM {базовая_таблица | представление}

    [WHERE <условие_поиска> | WHERE CURRENT OF имя_курсора]

    [RETURNING <список_столбцов> [INTO <список_переменных>]];.

    Например, чтобы удалить из таблицы Abonent абонента с номером лицевого счета, равным '005488', требуется выполнить следующий запрос:

    DELETE FROM Abonent

    WHERE AccountCD = '005488';.

    1. Приведите пример удаления множества записей.

    DELETE FROM Abonent

    1. Каким образом осуществляется удаление с вложенным подзапросом?

    В предложении WHERE запроса DELETE можно использовать вложенные запросы, которые могут быть как простыми, так и коррелированными. Использование подзапросов в DELETE аналогично использованию таковых в SELECT.

    Примеры:

    • Пусть необходимо удалить сведения о ремонтных заявках абонента Мищенко Е.В. Запрос на удаление соответствующих заявок можно записать в следующем виде:

    DELETE FROM Request WHERE AccountCD IN

    (SELECT AccountCD FROM Abonent

    WHERE Fio = ‘МИЩЕНКО Е.В.’);.

    • Рассмотрим использование коррелированного подзапроса в предложении WHERE запроса DELETE, т.е. подзапроса, который содержит внешнюю ссылку на текущую строку таблицы, из которой удаляются данные. Например, для удаления всех сведений об оплате услуг газоснабжения абонентами, проживающими на улице Татарской, можно использовать следующий запрос:
    1   2   3   4   5   6   7


    написать администратору сайта