Upload
melina-powell
View
214
Download
0
Embed Size (px)
Citation preview
SELECT e.NationalIDNumber, p.FirstName,p.LastName, CityFROM HumanResources.Employee eINNER JOINPerson.Person p on p.BusinessEntityID = e.BusinessEntityIDINNER JOINPerson.BusinessEntityAddress a on p.BusinessEntityID = a.BusinessEntityIDINNER JOINPerson.Address pa on pa.AddressID = a.AddressID
CREATE DATABASE مثال از دستورCREATE DATABASE AccountingON(NAME = 'Accounting',FILENAME = 'C:\Program Files\Microsoft
SQLServer\MSSQL10.MSSQLSERVER\MSSQL\
DATA\AccountingData.mdf‘, SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5)
CREATE DATABASEادامه دستور LOG ON(NAME = 'AccountingLog',FILENAME = 'C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\
AccountingLog.ldf',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB);GO ----------------------------------EXEC sp_helpdb ‘Accounting’
USE AccountingCREATE TABLE Customers (CustomerNo int IDENTITY NOT NULL,CustomerName varchar(30) NOT NULL,Address1 varchar(30) NOT NULL,Address2 varchar(30) NOT NULL,City varchar(20) NOT NULL,State char(2) NOT NULL,Zip varchar(10) NOT NULL,Contact varchar(25) NOT NULL,Phone char(15) NOT NULL,FedIDNo varchar(9) NOT NULL,DateInSystem smalldatetime NOT NULL )
ALTER DATABASE تغيير مشخصات ديتابيس باALTER DATABASE AccountingMODIFY FILE (NAME = Accounting, SIZE =
100MB) ALTER TABLE EmployeesADD PreviousEmployer varchar(30) NULL ALTER TABLE EmployeesADD DateOfBirth date NULL,LastRaiseDate date NOT NULLDEFAULT ‘2008-01-01’
DROPاستفاده از دستور USE AccountingDROP TABLE Customers, Employees USE masterDROP DATABASE Accounting
انواع قيد هاPrimary keyForeign keyUnique (also known as alternate keys)CheckDefaultRulesDefaults (similar to default constraints)
USE Accounting;CREATE TABLE Customers(CustomerNo int IDENTITY NOT NULLPRIMARY KEY,CustomerName varchar(30) NOT NULL,Address1 varchar(30) NOT NULL,Address2 varchar(30) NOT NULL,City varchar(20) NOT NULL,State char(2) NOT NULL,Zip varchar(10) NOT NULL,Contact varchar(25) NOT NULL,Phone char(15) NOT NULL,FedIDNo varchar(9) NOT NULL,DateInSystem smalldatetime NOT NULL);
USE AccountingCREATE TABLE Orders (OrderID int IDENTITY NOT NULLPRIMARY KEY,CustomerNo int NOT NULLFOREIGN KEY REFERENCES
Customers(CustomerNo),OrderDate date NOT NULL,EmployeeID int NOT NULL);
ALTER TABLE OrdersADD CONSTRAINT
FK_EmployeeCreatesOrderFOREIGN KEY (EmployeeID) REFERENCES
Employees(EmployeeID);
ALTER TABLE EmployeesADD CONSTRAINT
FK_EmployeeHasManagerFOREIGN KEY (ManagerEmpID)
REFERENCES Employees(EmployeeID);
CREATE TABLE Employees (EmployeeID int IDENTITY NOT NULLPRIMARY KEY,FirstName varchar (25) NOT NULL,MiddleInitial char (1) NULL,LastName varchar (25) NOT NULL,Title varchar (25) NOT NULL,SSN varchar (11) NOT NULL,Salary money NOT NULL,PriorSalary money NOT NULL,LastRaise AS Salary -PriorSalary,HireDate smalldatetime NOT NULL,TerminationDate smalldatetime NULL,ManagerEmpID int NOT NULLREFERENCES Employees(EmployeeID),Department varchar (25) NOT NULL);
FOREIGN KEYقيدهای CREATE TABLE OrderDetails(OrderID int NOT NULL,PartNo varchar(10) NOT NULL,Description varchar(25) NOT NULL,UnitPrice money NOT NULL,Qty int NOT NULL,CONSTRAINT PKOrderDetailsPRIMARY KEY (OrderID, PartNo),CONSTRAINT FKOrderContainsDetailsFOREIGN KEY (OrderID)REFERENCES Orders(OrderID)ON UPDATE NO ACTIONON DELETE CASCADE);
UNIQUEقيد های CREATE TABLE Shippers(ShipperID int IDENTITY NOT NULLPRIMARY KEY,ShipperName varchar(30) NOT NULL,Address varchar(30) NOT NULL,City varchar(25) NOT NULL,State char(2) NOT NULL,Zip varchar(10) NOT NULL,PhoneNo varchar(14) NOT NULLUNIQUE);
CHECKانواع قيد Limit Month column to appropriate numbersBETWEEN 1 AND 12 Proper SSN formattingLIKE ‘[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]’ Limit to a specific list ofShippers IN (‘UPS’, ‘Fed Ex’, ‘USPS’) Price must be positiveUnitPrice >= 0 Referencing another column in the same rowShipDate >= OrderDate
DEFAULTاستفاده از قيد CREATE TABLE Shippers(ShipperID int IDENTITY NOT NULLPRIMARY KEY,ShipperName varchar(30) NOT NULL,DateInSystem smalldatetime NOT NULLDEFAULT GETDATE ());
ALTER TABLE CustomersADD CONSTRAINT
CN_CustomerDefaultDateInSystemDEFAULT GETDATE() FOR DateInSystem;
ALTER TABLE CustomersADD CONSTRAINT CN_CustomerAddressDEFAULT ‘UNKNOWN’ FOR Address1;
CHECKقيد ALTER TABLE CustomersWITH NOCHECKADD CONSTRAINT CN_CustomerPhoneNoCHECK(Phone LIKE ‘([0-9][0-9][0-9]) [0-9][0-9][0-9]-
[0-9][0-9][0-9][0-9]‘);
Ruleايجاد و انتساب CREATE RULE SalaryRuleAS @Salary > 0; EXEC sp_helptext SalaryRule; EXEC sp_bindrule ‘SalaryRule’,
‘Employees.Salary’; EXEC sp_unbindrule ‘Employees.Salary’;