|
Программирование >> Руководство по созданию web приложений
CONSTRAINT - DEFAULT [[RegisterDate] NULL CONSTRAINT - DEFAULT latcO) (15) NULL , CONSTRAINT [PK clients] PfilHARV KEY [ClientID] ) ON [PRIMARY] ) ON immm] Например, поле spam инициализируется строкой по, а в поле RegisterDate автоматически заносится текущая дата, полученная от встроенной функции Состояние пользователя, хранящееся в поле Status, отмечается символом Когда посетитель сделает покупку. Вы можете записать сюда А . Мы сделали поля . - и Email CREATE UNIQUE INDEX f . ON ON CREATE UNIQUE INDEX [idxEMail] ON ON [PRIMARY] В результате мы исключили дублирование записей пателей с , идентификаторами и адресами электронной почты. Если пользователь пытается зарегистрироваться и при этом выясняется, что . . ный им идентификатор или адрес почты уже есть в базе ему предлагается выбрать другой идентификатор и другой адрес электронной почты. Таблица books В таблицу books сотрудники Вашего Интернет-магазина будут сведе- ния о , книгах, используя для этого административное пргшожение. Покупатели также будут обращаться к этой по с помощью другого при- ложения, созданного : для них. В таблице books покупатели выбира- ют нужные книги и кладут их в свою виртуальную корзину . Поля таблицы books описаны в таблице 4-8. Таблица 4-8. Поля . boolis Поле Тип Описание joohalD Идентификатор books (ключевое поле) Autfajr 1 Автор книги Title )) книги Publisher i Название книгу Price Money Стоимость книги в условных Datetime Дата и время добавления информации о книге в таблицу books Varchar(2048) Аннотация на книгу книги указана в условных единицах, но это не , что курс валюты может вдруг измениться. Так как Вы создаете : в Базы данных в Практическое руководство ноте, то покупатели могут для оплаты различные валюты, и тор- гующему приложению придется выполнять стоимости. Тут-то и при- годятся паши условные единицы. Обратите внимание наполе Annotation, -для хранения анно- на книгу. Его максимальная длина составляет 2 048 байт, что стало возможным только с появлением SQL Server версии 7.0. Максимально поле типа varcliar может содержать 8 ООО символов, что позволяет хранить в поле Annotation объемистые аннотации. реальный проект . Вы можете добавить в табли- цу books и другие поля, например номер ISBN, сведения о и т. п. Сценарий SQL, предназначенный для создания таблицы books, находится в файле (листинг 4-3). Листинг 4-3 хранится в файле chtiBook \dt)o.books TAB на прилага- емом к книге компакт-диске. Ограничение CONSTRAINT на поле Mudatv автоматизирует процесс записи даты добавления книги в таблицу books: CREATE TABLE ( [bOOksID] [int] - ll, 1) NOT NULL , [Author] [varchar] (50) NOT NULL , [Title] [varchar] (200) NOT NULL , [Publisher] [varchar] (50) NOT NULL , [Price] [mone; [AddDate] [da CONSTRAINT DEFAULT [Annotation] [-ЧГС11ЧГ] Ul-i N T NULL , CONSTRAINT PPIIIARY KEY [booksID] ) ON [PRIMARY] ) ON [PRIMARY] Ни одно ИЗ полей данной не может содержать пустые значения NULL, поэтому при добавлении книги в базу данных предоставить полную информацию о ней. Таблица orders Когда покупатели отбирают понравившиеся им книги для покупки, записи до- в таблицу orders. Ноля этой таблицы описаны ниоче. Таблица 4-9. Поля таблицы orders Поле Tinr Int записи таблицы orders (ключевое поле) booksID Int Идентификатор книги. 1для покупки ClientID Int выбравшего данную книгу AddDate Datetime Дата и время отбора книги money отобранной книги в условных i- iiiinma,4 Поля booksID и ClientID собой внешние ключи ктаблицам books и clients соответственно. Используя эти поля, мы можем определить, какую книгу отобрал тот или иной покупатель. Глава 4. Связь приложений с данных через ADO Поле laDate, хранящее дату и время книги, применяют для очистки корзин от записей. Например, Вы можете принуди- тельно удалять записи об отобранных книгах, сделанные более года назад. Сценарий SQL, создающий таблицу orders, представлен в 4-4. Листинг 4-4 Вы найдете в файле на при- лагаемом к книге компакт-диске. Обратите на ограничение CONSTRAINT поля AddDate: CREATE TABLE . ( [ordersID] [int] IDENTITY (1, 1) NOT NULL , [int] NOT NULL , [ClientID] [int] NOT NULL , [AddDate] [eateilni] NOT NULL CONSTRAINT [DF orders AddDate] DEFAULT . IBaoKFajee] [money] NOT NULL , CONSTRAINT [PK orders] PRIMARY KEY [ordersID] ) ON [PRIMARY] ) ON [Римдв*] С его помощью в данное автоматически время и дата до- бавления книги в корзину покупателя. Подготовка хранимых процедур Для приложений нашего мы подготовили ряд хранимых Серверные сценарии, расположенные на страницах ASP его приложений, будут обращаться к этим процедурам для выполнения операций с базой данных. Для примера мы привели в листинге 4-5 in,уааиьаг текст хранимой процедуры ClientLogin. предназначенной для подключения к Интернет- магазину заре-гистрированныхпокупателей. Листинг 4-5 Вы найдете в файле ch4\BookShopScript8\ clho ClertLog n.PRC на прилагаемом к книге компакт-диске. В качестве входных параметров мы передаем этой процедуре идентификатор пользователя @User и пользователя ©Pass: PROCEDURE ClientLogin varGhar(50), output AS SELECT FROM clients WHERE AND UPDATE clients SET . WHERE Результат аутентификации записывается процедурой ClientLogin в тлультон параметр . Попутно наша процедура обновляет поле LaatLogi а таблицы в нее время и дату подключения, полученные от встроенной функции GETDATE. Сейчас мы не будем подробно описывать работу этой и других процедур - о ней мы расскажем в разделах, посвященных описанию страниц ASP нашего магазина. Отметим только, что процедуры Вы добавить в базу данных при приложения SQL Server Query Analyzer.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |