Типи даних.Тип BLOB. Особливості. Сумісність типів
Основи роботи в MS SQL Server. Створення бази даних, використяння таблиць, виконання запитiв. В MS SQL Server 6.5 есть возможность работать с БД в графическом интерфейсе: SQL Enerprise Manager -Мощный централизованный инструмент полного управления серверами в масштабах предприятия, включая базы данных, их объекты, предупреждения (alerts), спланированные во времени задачи, тиражирование и запросы. Рассмотрим же программную работу в MS SQL Создание устройства БД Базы данных размещаются на устройствах (device). Устройства – это файлы жесткого диска, которые помимо баз данных могут содержать журналы транзакций и резервные копии баз данных. Одна база данных может размещаться на нескольких устройствах, разнесенных по нескольким жестким дискам. Одно устройство может включать в себя несколько баз данных или их фрагментов. Устройство даже не содержащее ни одной базы данных, тем не менее занимает место на диске. Минимальный размер устройства 1 – Мб. В процессе установки Microsoft SQL Server автоматически создаются три устройства баз данных – MASTER.DAT, MSDB.DAT и MSDBLOG.DAT. Все остальные устройства создает администратор. DISK INIT NAME = <’Логическое имя’>, PHYSNAME = <’Физическое имя’>, VDEVNO = <Номер устройства>, SIZE = <Размер>[, VSTART = <Адрес>]VDEVNO - Идентификатор устройства. Он может принимать значения от 0 до 255. Идентификатор 0 зарезервирован для устройства master. VSTART - стартовое смещение в страницах. Пример: DISK INIT NAME = <’autostore’>, PHYSNAME = <’c:\sq16\data\autostore.dat>, VDEVNO = <11>, SIZE = <5120>DISK INIT NAME = <’auto_log’>, PHYSNAME = <’g:\sqllog\data\auto_log.dat ’>, VDEVNO = <11>, SIZE = <5120>Создание БД Новая база данных создается на основе шаблона model, поэтому любая вновь созданная база данных уже имеет некоторое количество системных таблиц..
При создании базы данных мы можем указать устройство, на котором она будет храниться, а так же устройство, на котором будет размещаться журнал транзакций. Приведем пример создания базы данных. CREATE DATABASE samokatON autostore = 10LOG ON auto_log = 10Если при создании базы данных в команде не указанно никакое устройство, SQL Server ищет устройство по умолчанию. Создание таблиц CREATE TABLE table_name (column_name data_type [NULL | NOT NULL] [,...n])Например: CREATE TABLE member(member_no int NOT NULL, lastname char(50) NOT NULL, firstname char(50) NOT NULL, photo image NULL)Этим оператором создается таблица member, состоящая из четырех колонок sp_help - системная процедура, которая возвращает информацию об объектах БД (таблицах, хранимых процедурах и пр.). Удалить таблицу: drop table member Работа с таблицами Значения могут быт помещены и удалены из полей, тремя командами: · INSERT - вставка данных · UPDATE - изменение данных · DELETE - удаление INSERT INTO table_nameVALUES (value, value,...)Так для того чтобы добавить запись в таблицу торговых агентов можно использовать команду: INSERT INTO SalespeopleVALUES(1008, 'Johnson', 'London', 12)Вы можете явно указать столбцы, куда Вы хотите вставить значение. Это позволит вставлять значения в любом порядке. INSERT INTO Customers(city, cname, cnum)VALUES('Новосибирск', 'Петров', 2010)Команду INSERT можно использовать для вставки результатов запроса. Чтобы сделать это, просто заменяем предложение VALUES на соответствующий запрос: INSERT INTO MoscowStaff SELECT * FROM Salespeople WHERE city = 'Москва'Для удаления строк из таблицы используется команда DELETE. DELETE FROM SalespeopleWHERE snum = 1007В отличие от файловых СУБД типа DBASE, SQL Server не помечает записи как удаленные, а удаляет их физически, т.е. восстановлению они не подлежат.Команда UPDATE позволяет изменять некоторые или все значения в существующей записи в таблице. Эта команда содержит предложение UPDATE, за которым указывается имя таблицы, и предложение SET, которое указывает на изменение которое нужно сделать для определенного столбца. Например, чтобы изменить рейтинги всех заказчиков на 200 можно ввести команду:
Аналогично DELETE, UPDATE может использовать условия для выбора записей, подлежащих изменению. Вот так можно изменить рейтинг для всех заказчиков агента Иванова (код 1001): UPDATE CustomersSET rating = 300WHERE snum = 1001В предложении SET можно указывать несколько столбцов, разделяя их запятыми. Выполнение запросов к базе данных из "SQL Query Analyzer" Запустите "SQL Query Analyzer" и подключитесь к MSSQL серверу, на котором вы зарегистрировали связанный сервер InterBase. Запрос на выборку данных begin distributed transaction; select * from IB_EMPL...EMPLOYEE; commit; Параметризованный запрос на выборку данных begin distributed transaction; declare @first_name as varchar(32); set @first_name='Scott'; select * from IB_EMPL...EMPLOYEE empl where empl.FIRST_NAME=@first_name; commit; Модификация данных При выполнении SQL-запросов INSERT, UPDATE и DELETE, MSSQL пытается стартовать вложенную транзакцию. Если транзакция уже активна, то провайдер вернет ошибку. Поэтому, перед выполнением таких запросов нужно выполнить команду "SET XACT_ABORT ON", или вообще отказаться от явного управления транзакциями - определив в строке подключения " auto_commit =true". Вставка нового ряда set xact_abort on; begin distributed transaction; insert into IB_EMPL...COUNTRY (COUNTRY,CURRENCY) values ('Mars','Snickers'); commit transaction; Изменение ряда set xact_abort on; begin distributed transaction; declare @country varchar(32); set @country='Mars'; update IB_EMPL...COUNTRY set CURRENCY='Beer' where COUNTRY=@country commit; Удаление ряда set xact_abort on; begin distributed transaction; declare @country varchar(32); set @country='Mars'; delete from IB_EMPL...COUNTRY where COUNTRY=@country commit; Вызов хранимой процедуры Внимание. MS SQL для вызова хранимых процедур всегда использует квотированные имена. Используйте gfix для перевода базы данных employee.gdb в третий диалект. Получение результата работы хранимой процедуры в виде множества (odbc_call_sp =0) begin distributed transaction; declare @dept_head char(3); set @dept_head='100'; exec IB_EMPL...SUB_TOT_BUDGET @dept_head {call IB_EMPL...SUB_TOT_BUDGET(@dept_head)}; commit; Получение результата работы хранимой процедуры через OUT-параметры. Использовался отдельный linked-server IB_EMPL_1, у которого установлен параметр odbc_call_sp =1 begin distributed transaction;
declare @dept_head char(3); set @dept_head='100'; exec IB_EMPL_1...SUB_TOT_BUDGET @dept_head,@tot_b output,@avg_b output,@min_b output, @max_b output {call IB_EMPL_1...SUB_TOT_BUDGET(@dept_head,@tot_b output,@avg_b output,@min_b output, @max_b output)}; commit; SQL Типи даних.Тип BLOB. Особливості. Сумісність типів
SQL Server поддерживает следующие типы данных:
BLOB - Двоичные строки с максимальной длиной символов равной 65535. Тип BLOB (binary large object - большой двоичный объект) предназначен для хранения двоичных данных, в том числе изображений и звуковых последовательностей.
Совместимость типов:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|