CAD/MCSE/MCDBA Self-Paced Training Kit [Electronic resources]: Microsoft SQL Server 2000 Database Design and Implementation, Second Edition (Exam 70-229) نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

CAD/MCSE/MCDBA Self-Paced Training Kit [Electronic resources]: Microsoft SQL Server 2000 Database Design and Implementation, Second Edition (Exam 70-229) - نسخه متنی

Microsoft Corporation

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
توضیحات
افزودن یادداشت جدید


Chapter 4: Implementing SQL Server Databases and Tables Lesson 2: Identifying Data Types Exercise 2: Identifying Column Data Types


page 153

To identify the data types for the Authors table

Refer to the data constraints that you identified for the Authors table when you developed your database design.

Which data constraints apply to the AuthorID column of the Authors table?

The column must contain a value, and the value must be unique.

Review the database design and the data constraints for the FirstName and LastName columns.

What type of data will you store in this column?

Character data

Review the database design and the data constraints for the YearBorn and YearDied columns.

You can assume that each column will contain only four characters. Because date and time data types do not include a year-only data type, you decide to use a character data type.

Which data type should you use for the YearBorn and YearDied columns?

char(4), although which data type to use is not always a clear-cut decision

Review the database design and the data constraints for the Description column.

What type of data will you store in this column?

Character data

page 154

To identify the column data types for tables in the BookShopDB database

Identify the data type for each column.

What is the data type for each column in the BookShopDB tables?





Note

It is sometimes difficult to predict exactly what length you should use for data types such as char and varchar. You can get a feel for lengths, however, by reviewing column properties in existing databases, such as the Pubs database or the Northwind database.


The following table lists the suggested data types for each column in the tables:
























































































































































































Table


Column


Data Type


Books


TitleID


char(8)


Title


varchar(70)


Publisher


varchar(50)


PubDate


char(4)


Edition


char(4)


Cost


money


SRP


money


ConditionID


tinyint


Sold


bit


BookCondition


ConditionID


tinyint


ConditionName


char(10)


Description


varchar(50)


Authors


AuthorID


smallint


FirstName


varchar(30)


LastName


varchar(30)


YearBorn


char(4)


YearDied


char(4)


Description


varchar(200)


BookAuthors


AuthorID


smallint


TitleID


char(8)


Employees


EmployeeID


smallint


FirstName


varchar(30)


LastName


varchar(30)


Address1


varchar(60)


Address2


varchar(60)


(Employees, continued)


City


varchar(15)


State


char(2)


Zip


varchar(12)


Phone


varchar(24)


DOB


datetime


HireDate


datetime


PositionID


tinyint


Positions


PositionID


tinyint


Title


varchar(30)


JobDescrip


varchar(80)


Customers


CustomerID


smallint


FirstName


varchar(30)


LastName


varchar(30)


Phone


varchar(24)


Address1


varchar(60)


Address2


varchar(60)


City


varchar(15)


State


varchar(7)


Zip


varchar(12)


Orders


OrderID


smallint


CustomerID


smallint


EmployeeID


smallint


Amount


money


OrderDate


datetime


DeliveryDate


datetime


PaymentID


tinyint


StatusID


tinyint


OrderStatus


StatusID


tinyint


StatusDescrip


varchar(25)


FormOfPayment


PaymentID


tinyint


PaymentDescrip


varchar(12)


BookOrders


OrderID


smallint


BookID


char(8)







Note

Notice that the State column in the Customers table uses the varchar(7) data type rather than char(2), as in the Employees table. Because a value is not required for this column in the Customers table, a default value of 'unknown' will be defined (rather than permitting a null value). Nullability and default values are discussed in more detail in Lesson 3.

USE bookshopdb
CREATE TABLE Books
(
TitleID CHAR(8) NOT NULL,
Title VARCHAR(70) NOT NULL,
Publisher VARCHAR(50) NOT NULL DEFAULT 'N/A',
PubDate CHAR(4) NOT NULL DEFAULT 'N/A',
Edition CHAR(4) NOT NULL DEFAULT 'N/A',
Cost MONEY NOT NULL,
SRP MONEY NOT NULL,
ConditionID TINYINT NOT NULL,
Sold BIT NOT NULL DEFAULT '0',
)
CREATE TABLE BookOrders
(
OrderID SMALLINT NOT NULL,
TitleID CHAR(8) NOT NULL
)
CREATE TABLE Positions
(
PositionID TINYINT NOT NULL,
Title VARCHAR(30) NOT NULL,
JobDescrip VARCHAR(80) NOT NULL DEFAULT 'N/A'
)
CREATE TABLE Employees
(
EmployeeID SMALLINT IDENTITY NOT NULL,
FirstName VARCHAR(30) NOT NULL,
LastName VARCHAR(30) NOT NULL,
Addrees1 VARCHAR(60) NOT NULL,
Address2 VARCHAR(60) NOT NULL DEFAULT 'N/A',
City VARCHAR(15) NOT NULL,
State CHAR(2) NOT NULL,
Zip VARCHAR(12) NOT NULL,
Phone VARCHAR(24) NOT NULL,
DOB DATETIME NOT NULL,
HireDate DATETIME NOT NULL,
PositionID TINYINT NOT NULL
)
CREATE TABLE Customers
(
CustomerID SMALLINT IDENTITY(10,1) NOT NULL,
FirstName VARCHAR(30) NOT NULL DEFAULT 'unknown',
LastName VARCHAR(30) NOT NULL DEFAULT 'unknown',
Phone VARCHAR(24) NOT NULL DEFAULT 'unknown',
Address1 VARCHAR(60) NOT NULL DEFAULT 'unknown',
Address2 VARCHAR(60) NOT NULL DEFAULT 'unknown',
City VARCHAR(15) NOT NULL DEFAULT 'unknown',
State VARCHAR(7) NOT NULL DEFAULT 'unknown',
Zip VARCHAR(12) NOT NULL DEFAULT 'unknown'
)
CREATE TABLE Orders
(
OrderID SMALLINT IDENTITY NOT NULL,
CustomerID SMALLINT NOT NULL,
EmployeeID SMALLINT NOT NULL,
Amount MONEY NOT NULL DEFAULT 0,
OrderDate DATETIME NOT NULL,
DeliveryDate DATETIME NULL,
PaymentID TINYINT NOT NULL,
StatusID TINYINT NOT NULL
)
CREATE TABLE OrderStatus
(
StatusID TINYINT NOT NULL,
StatusDescrip VARCHAR(25) NOT NULL
)
CREATE TABLE FormOfPayment
(
PaymentID TINYINT NOT NULL,
PaymentDescrip VARCHAR(12) NOT NULL
)




/ 223