31
SELECT e.NationalIDNumber, p.FirstName,p.LastName, City FROM HumanResources.Employee e INNER JOIN Person.Person p on p.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.BusinessEntityAddress a on p.BusinessEntityID = a.BusinessEntityID INNER JOIN Person.Address pa on pa.AddressID = a.AddressID

SELECT e.NationalIDNumber, p.FirstName,p.LastName, City FROM HumanResources.Employee e INNER JOIN Person.Person p on p.BusinessEntityID = e.BusinessEntityID

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’

Sp-helpdbنتيجه اجرای

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 )

Sp_help استفاده از EXEC sp_help Customers

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’

EXEC sp_help Employees

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 AccountingALTER TABLE EmployeesADD CONSTRAINT PK_EmployeeIDPRIMARY KEY (EmployeeID);

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);

EXEC sp_helpconstraint <table name>

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);

ALTER TABLE EmployeesADD CONSTRAINT AK_EmployeeSSNUNIQUE (SSN);

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 

ALTER TABLE CustomersADD CONSTRAINT

CN_CustomerDateInSystemCHECK(DateInSystem <= GETDATE ());

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]‘);

غير فعال کردن يک قيدALTER TABLE CustomersNOCHECKCONSTRAINT CN_CustomerPhoneNo;

Ruleايجاد و انتساب CREATE RULE SalaryRuleAS @Salary > 0;   EXEC sp_helptext SalaryRule;  EXEC sp_bindrule ‘SalaryRule’,

‘Employees.Salary’;  EXEC sp_unbindrule ‘Employees.Salary’;

DEFAULTايجاد و انتساب CREATE DEFAULT SalaryDefaultAS 0;  EXEC sp_bindefault ‘SalaryDefault’,

‘Employees.Salary’;  EXEC sp_unbindefault ‘Employees.Salary’;