Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
варианты курсовых работ 2014 .doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
358.91 Кб
Скачать

Денежные типы данных

Типы данных money и smallmoney предназначены в первую очередь для представления денег.

money

Тип данных money в состоянии представлять числа в диапазоне от -922,337,203,685,477.5808 до +922,337,203,685,477.5807 с точностью в одну десятитысячную, имеет размер в 8 байт.

smallmoney

Тип данных smallmoney в состоянии представлять числа в диапазоне от -214,748.3648 до +214,748.3647, размер 4 байта.

Специальные типы данных

Среди всех более или менее обычных типов данных, имеющихся в SQL Server, несколько выделяются два типа данных - bit и timestamp.

 Первый - bit - предназначен для представления целых чисел в диапазоне от 0 до 1, причем при вводе числа, отличного от 1, принимается значение, равное 1. Тип данных bit имеет размер в один байт, но при наличии нескольких полей типа bit в таблице они все будут упакованы вместе, например, если у нас есть 7 полей типа bit, то суммарное занимаемое ими пространство будет равно одному байту.

!

Обратите внимание: Для полей, имеющих тип bit, невозможно построить индекс. 

Значение другого типа данных - timestamp - обновляется при каждом изменении записи.

!

Обратите внимание: Поля типа timestamp не имеют никакого отношения к системной дате или системному времени. 

Если при создании таблицы будет указана колнока с именем timestamp, и при этом не будет указан никакой тип, то эта колонка автоматически будет иметь тип timestamp.

 timestamp имеет размер 8 байт и представлено как varbinary(8) 

ALTER TABLE

ALTER TABLE [database.[owner].]table_name

[WITH NOCHECK]

[ADD

 {col_name column_properties column_constraints]

 |[[,]table_constraint]}

    [,{next_col_name|next_table_constraint}]...]

| DROP [CONSTRAINT]

 constraint_name[,constraint_name]

Позволят производить различные операции с таблицей после ее создания

Пример

 

  1. Добавление PRIMARY KEY CONSTRAINT:

  2.    ALTER TABLE authors

  3.    ADD

   CONSTRAINT UPKCL_auidind PRIMARY KEY CLUSTERED (au_id)

  1. Добавление FOREIGN KEY CONSTRAINT:

  2.    ALTER TABLE titles

  3.    ADD

   CONSTRAINT FK_pub_id FOREIGN KEY (pub_id) REFERENCES publishers(pub_id)

  1. Добавление UNIQUE CONSTRAINT:

  2.    ALTER TABLE titles

  3.    ADD

   CONSTRAINT UNC_name_city UNIQUE NONCLUSTERED (stor_name,city)

  1. Добавление DEFAULT CONSTRAINT:

  2.  ALTER TABLE authors

  3.  ADD

 DEFAULT 'UNKNOWN' FOR phone

Будьте внимательны с default!

  1. Добавление CHECK CONSTRAINT:

  2.  ALTER TABLE authors

  3.  ADD

 CONSTRAINT CK_zip CHECK (zip LIKE '[0-9][0-9][0-9][0-9][0-9]')

  1. Добавление новой колонки

  2.  ALTER TABLE publishers

  3.  ADD

  4.  country varchar(30)      NULL

         DEFAULT('USA')

INSERT

INSERT [INTO]

    {table_name | view_name} [(column_list)]

{DEFAULT VALUES | values_list | select_statement}

Добавляет запись в таблицу.

  • При указании значений конкретный полей вместо использования каких-либо значений можно использовать ключевое слово DEFAULT

  • Вставка пустой строки приводит к добавлению пробела ' ', а не значения NULL

Пример

INSERT titles

    VALUES('BU2222', 'Faster!', 'business', '1389',

        NULL, NULL, NULL, NULL, 'ok', '06/17/87')

INSERT titles(title_id, title, type, pub_id, notes, pubdate)

    VALUES ('BU1237', 'Get Going!', 'business', '1389',

        'great', '06/18/86')

  

INSERT INTO newauthors

    SELECT *

        FROM authors

            WHERE city = 'San Francisco'