²ÕÛáõë³ÏÝ»ñÇ ëï»ÕÍáõÙ և տվյալների ղեկավարում աղյուսակում ( մուտք, փոփոխում, հեռացում )

Презентация:



Advertisements
Похожие презентации
Транксрипт:

²ÕÛáõë³ÏÝ»ñÇ ëï»ÕÍáõÙ և տվյալների ղեկավարում աղյուսակում ( մուտք, փոփոխում, հեռացում )

îÇå»ñ Type Name Sample Use Quotes? Descrip. int40145 No No ³ÙµáÕç ïÇå(4 µ³ÛÃ) smallint1207No ³ÙµáÕç ïÇå(2 µ³ÛÃ) tinyint25No ³ÙµáÕç ïÇå(0-255) bit 0 (1) No µÇà (0 ϳ٠1) Decimal,numeric No ë³ÑáÕ Ï»ïáí Ãí»ñ Float, real 123.1No ë³ÑáÕ Ï»ïáí Ãí»ñ Money, smallmoney No ëïáñ³Ï»ïÇó Ñ»ïá 4 ×ßïáõÃÛ³Ùµ CharRomaYes ýÇùëí³Í »ñÏ. ïáÕ(8000) VarcharDavidYes ÷á÷áË³Ï³Ý »ñÏ.ïáÕ(8000) textAAAYes ÷á÷áË³Ï³Ý »ñÏ.ïáÕ(2^31)

ä³ñ½³·áõÛÝ CREATE TABLE (syntax ) CREATE TABLE table_name ( { }[,...n ] )

²ÕÛáõë³ÏÇ ëï»ÕÍÙ³Ý ûñÇÝ³Ï create table Table 1 ( col1 char(2) not null, Col2 char(8), Col3 int, Col4 char(8) null );

²é³çݳÛÇÝ µ³Ý³ÉÇÝ»ñ ³ÕÛáõë³ÏáõÙ create table T1 ( Col1 char(2) Primary key, Col2 char(8), Col3 int, Col4 char(8) ); create table T2 ( Col1 char(2), Col2 char(2), Col3 int, Primary key (Col1,Col2) );

êÛ³Ý default ³ñÅ»ù create table Table2 ( Col1 char(2), Col2 char(2), Col3 int not null default 10, Primary key (Col1,Col2) ); ºÃ» ëÛ³Ý Ñ³Ù³ñ Ýßí³Í ¿ Ýñ³ default ³ñÅ»ùÁ, ³å³ ³ÕÛáõë³ÏáõÙ ïáÕ ³í»É³óÝ»Éáõó, »Ã» ³Û¹ ëÛ³ÝÁ ³ñÅ»ù ãÇ í»ñ³·ñíáõÙ, í»ñóíáõÙ ¿ Ýñ³ default ³ñÅ»ùÁ:

²ÕÛáõë³ÏÇ Ñ»é³óáõÙ drop table ²ÕÛáõë³ÏÝ ³ÙµáÕçáõÃÛ³Ùµ Ñ»é³óíáõÙ ¿ ïíÛ³ÉÝ»ñÇ å³ÑáóÇó: ²ÙµáÕç ÇÝýáñÙ³óÇ³Ý ÏáñáõÙ ¿:

²ÕÛáõë³ÏáõÙ ïáÕÇ ³í»É³óáõÙ INSERT INTO (syntax) INSERT [ INTO] table_name { [ ( column_list ) ] { VALUES ( { DEFAULT | NULL | expression } [,...n] ) } } Sample

Օրինակ Create table t1(c1 int null, c2 int null) Go Insert into t1(c1) values(0) Insert t1(c2) values(-41) Insert t1 values(200, 300) Insert t1 values(null, 100) Go ºÃ» Insert-Ç Å³Ù³Ý³Ï ëÛáõÝ»ñÇ óáõó³ÏÁ ãÇ ÝßíáõÙ ³ÕÛáõë³ÏÇ ³ÝáõÝÇó Ñ»ïá, ³å³ ѳٳñíáõÙ ¿,áñ ³í»É³óÝ»Éáõó ³ñÅ»ùÝ»ñ ïñíáõÙ »Ý µáÉáñ ëÛáõÝ»ñÇ Ñ³Ù³ñ, Áݹ áñáõÙ ëÛáõÝ»ñÇ ³ÛÝåÇëÇ Ñ»ñóϳÝáõÃÛ³Ùµ, ÇÝãå»ë áñ ³í»É³óí»É »Ý ³ÕÛáõë³ÏÇ ëï»ÕÍÙ³Ý Å³Ù³Ý³Ï

INSERT INTO … SELECT FROM γñ»ÉÇ ¿ ÙÇ ³ÕÛáõë³ÏÇ ÇÝýáñÙ³óÇ³Ý ³í»É³óÝ»É ÙÛáõë ³ÕÛáõë³ÏÇ Ù»ç, »Ã» ëÛáõÝ»ñÇ ïÇå»ñÁ ÃáõÛÉ »Ý ï³ÉÇë: Օրինակ Insert into Ships_1(name, class, launched) Select name, class, launched From Ships Where launched > 1940 ²Ûë ѳñóÙ³Ý Å³Ù³Ý³Ï Ships ³ÕÛáõë³ÏÇó ÁÝïñíáõÙ »Ý å³ÛÙ³ÝÇÝ µ³í³ñ³ñáÕ ïáÕ»ñÁ ¨ ³Û¹ ïáÕ»ñÇ Ñ³Ù³å³ï³ëË³Ý ëÛáõÝ»ñÇ ³ñÅ»ùÝ»ñÁ ³í»É³óíáõÙ »Ý Ships_1 ³ÕÛáõë³ÏáõÙ:

²ÕÛáõë³ÏáõÙ ÇÝýáñÙ³ódzÛÇ ÷á÷áËáõÙ UPDATE (syntax ) UPDATE table_name SET { = }[1,..n] WHERE

úñÇÝ³Ï Update t1 Set Status = 20, Sname = Richard Where City = London Update-áõÙ ÝßíáõÙ ¿ ³ÛÝ ³ÕÛáõë³ÏÁ, áñÇ ÇÝýáñÙ³óÇ³Ý Ó¨³÷áËíáõÙ ¿, where-áõÙ ³ÛÝ å³ÛÙ³ÝÁ, áñáí ÁÝïñíáõÙ »Ý ÷á÷áËÙ³Ý »Ýóϳ ïáÕ»ñÁ, ÇëÏ Set- áõÙ ÝßíáõÙ ¿, û áñ ëÛáõÝ»ñÇ ³ñÅ»ùÝ»ñÝ »Ý ÷áËíáõÙ ¨ ÇÝã Ýáñ ³ñÅ»ù »Ý ÁݹáõÝáõÙ:

²ÕÛáõë³ÏÇó ïáÕÇ Ñ»é³óáõÙ Delete DELETE FROM table_name WHERE лé³óÝáõÙ ¿ Ýßí³Í ³ÕÛáõë³ÏÇó å³ÛÙ³ÝÇÝ µ³í³ñ³ñáÕ ïáÕ»ñÁ: Delete from SP where qty<10

create table t1 ( c1 int primary key, c2 varchar(50) ) create table t2 ( c1 int null FOREIGN KEY REFERENCES t1(c1), c2 int not null ) ÐÕáõÙ³ÛÇÝ ³ÙáÕç³Ï³ÝáõÃÛ³Ý ë³Ñٳݳ÷³ÏáõÙÁ ³ÕÛáõë³ÏáõÙ

úñÇݳÏÝ»ñ create table t3 ( c1 int identity(100,3), c2 char(1) check (c2 in ('a','b','c')) ) create table t4 ( c1 int identity(10,3), c2 int, check (c1+c2 >= 20) ) ÀݹѳÝáõñ ïÇåÇ ³ÙáÕç³Ï³ÝáõÃÛ³Ý ë³Ñٳݳ÷³ÏáõÙÁ ³ÕÛáõë³ÏáõÙ

Խնդիրներ 1. Կառուցել Sales(ID,Date,SupplierID, BuyerID) աղյուսակը, որտեղ վաճառքի իդենտիֆիկատորը `ID- ն, Int տիպի է, վաճառքի ամսաթիվը ` Date, smalldatetime տիպի է, իսկ մատակարարի ID` SupplierID, և գնորդի ID- ն ` BuyerID Int տիպի են և անպայման պետք ունենան արժեք : Առաջնային բանալին ID- ն է : ա ) Գրել հարցում ( ներ ), որը Sales աղյուսակում կավելացնի հետևյալ կորտեժները ` (1,10/02/2010,17, 25), (2,20/03/2010,80,10), (3,28/01/2010,25,80): բ ) Գրել հարցում, որը Sales աղյուսակի 80 ID- ով մատակարաի ID կփոխարինի 81 ID- ով մատակարարով : 2. Կառուցել Sales(ID,Date,SupplierID, BuyerID) աղյուսակը, որտեղ վաճառքի իդենտիֆիկատորը `ID- ն, Int տիպի է, վաճառքի ամսաթիվը ` Date, smalldatetime տիպի է, իսկ մատակարարի ID` SupplierID, և գնորդի ID- ն ` BuyerID Int տիպի են և անպայման պետք ունենան արժեք : Առաջնային բանալին ID- ն է : ա ) Գրել հարցում ( ներ ), որը Seles աղյուսակում կավելացնի հետևյալ կորտեժները ` (1,10/02/2010,17, 25), (2,20/03/2010,80,10), (3,28/01/2010,25,80): բ ) Գրել հարցում, որը Sales աղյուսակից կհեռացնի 2 համարով վաճառքի տողը :

3. Կառուցել SelesItem(SelesID,ItemID,Quantity,Amount) աղյուսակը, որտեղ վաճառքի իդենտիֆիկատորը `SelesID- ն և վաճառված ապրաքի իդենտիֆիկատորը ` ItemID- ն Int տիպի են, իսկ քանակը ` Quantity- ն և գումարը ` Amount, money տիպի են և անպայման պետք ունենան արժեք : Առաջնային բանալին (SelesID,ItemID)- ն է : ա ) Գրել հարցում ( ներ ), որը SelesItem աղյուսակում կավելացնի հետևյալ կորտեժները ` (1,1,10,1500), (1,2,40.5, 2500), (3,2,30,10000): բ ) Գրել հարցում, որը SelesItem աղյուսակի SelesID =1 և ItemID =1 կորտեժի Quantity սյան արժեքը կդարձնի 20: g) Գրել հարցում, որը SelesItem աղյուսակից կհեռացնի SelesID =3 կորտեժ ( ներ ) ը :

5. Կառուցել Account(CustomerID,AccountCode,CardNumber,Amount) աղյուսակը, որտեղ հաճախորդի իդենտիֆիկատորը `CustomerID- ն, Int տիպի է, հաշվի կոդը ` AccountCode- ն, char(16) տիպի է,CardNumber- ը char(16) տիպի է և չի կրկնվում, իսկ գումարը ` Amount, money տիպի է և անպայման պետք ունենա արժեք : Առաջնային բանալին AccountCode- ն է : ա ) Գրել հարցում ( ներ ), որը Account աղյուսակում կավելացնի հետևյալ կորտեժները ` (1501, , ,715000), (1505, , ,72700), (1501, , ,5000): բ ) Գրել հարցում, որը Account աղյուսակի CustomerID =1501 և AccountCode =' ' կորտեժի Amount սյան արժեքը կդարձնի 10000: 6. Կառուցել Account(CustomerID,AccountCode,CardNumber,Amount) աղյուսակը, որտեղ հաճախորդի իդենտիֆիկատորը `CustomerID- ն, Int տիպի է, հաշվի կոդը ` AccountCode- ն, char(16) տիպի է,CardNumber- ը char(16) տիպի է և չի կրկնվում, իսկ գումարը ` Amount, money տիպի է և անպայման պետք ունենա արժեք : Առաջնային բանալին AccountCode- ն է : ա ) Գրել հարցում ( ներ ), որը Account աղյուսակում կավելացնի հետևյալ կորտեժները ` (1501, , ,715000), (1505, , ,72700), (1501, , ,5000): բ ) Գրել հարցում, որը Account աղյուսակից կհեռացնի CustomerID =1505 կորտեժ ( ներ ) ը :

Ինքնուրույն կատարման համար 7. Կառուցել Customer (CustomerID,FName,LName,BirthDate) աղյուսակը, որտեղ հաճախորդի իդենտիֆիկատորը `CustomerID- ն, Int տիպի է, անունը ` FName և ազգանունը ` LName- ը, char(50) տիպի են, իսկ ծննդյան ամսաթիվը ` BirthDate, smalldate տիպի է և արժեքը պետք է մեծ լինի 01/01/1900- ից : Առաջնային բանալին CustomerID- ն է : ա ) Գրել հարցում ( ներ ), որը Customer աղյուսակում կավելացնի հետևյալ կորտեժները ` (1501, Customer 1 FName,Customer 1 LName,16/01/1952), (1502,Customer 2 Name,Customer 2 LName,25/08/1961), (1505, Customer 3 Name,Customer 3 LName,29/11/1987): բ ) Գրել հարցում, որը Customer աղյուսակի CustomerID =1501 կորտեժի BirtDate կդարձնի 27/01/1952:

8. Կառուցել Customer (CustomerID,FName,LName,BirthDate) աղյուսակը, որտեղ հաճախորդի իդենտիֆիկատորը `CustomerID- ն, Int տիպի է, անունը ` FName և ազգանունը ` LName- ը, char(50) տիպի են, իսկ ծննդյան ամսաթիվը ` BirthDate, smalldate տիպի է և արժեքը պետք է մեծ լինի 01/01/1900- ից : Առաջնային բանալին CustomerID- ն է : ա ) Գրել հարցում ( ներ ), որը Customer աղյուսակում կավելացնի հետևյալ կորտեժները ` (1501, Customer 1 FName,Customer 1 LName,16/01/1952), (1502,Customer 2 Name,Customer 2 LName,25/08/1961), (1505, Customer 3 Name,Customer 3 LName,29/11/1987): բ ) Գրել հարցում, որը Customer աղյուսակից կհեռացնի CustomerID =1502 կորտեժը : 9. Կառուցել ReaderCard(ReaderID,BookID,Date,ReturnDate) աղյուսակը, որտեղ ընթերցողի իդենտիֆիկատորը ` ReaderID- ն Int տիպի, գրքի իդենտիֆիկատորը ` BookID- ն, char(10) տիպի է, իսկ գիրքը վերցնելու ամսաթիվը ` Date, գիրքը վերադարձնելու ամսաթիվը `,ReturnDate- ը,smalldate տիպի են : Գիրքը վերցնելու ամսաթիվը միշտ պետք է որոշված լինի : Առաջնային բանալին (ReaderID,BookID)- ն է : ա ) Գրել հարցում ( ներ ), որը ReaderCard աղյուսակում կավելացնի հետևյալ կորտեժները ` (1007, AG-5,25/01/2010,12/02/2010), (1008,LD- 15,15/01/2010,null), (1008, MK-17,27/04/2007, null): բ ) Գրել հարցում, որը ReaderCard աղյուսակի 1008 ընթերցողի LD-15 գիրքը վերադարձնելու ամսաթիվը կդարձնի 13/02/2010:

10. Կառուցել ReaderCard(ReaderID,BookID,Date,ReturnDate) աղյուսակը, որտեղ ընթերցողի իդենտիֆիկատորը ` ReaderID- ն Int տիպի, գրքի իդենտիֆիկատորը ` BookID- ն, char(10) տիպի է, իսկ գիրքը վերցնելու ամսաթիվը ` Date, գիրքը վերադարձնելու ամսաթիվը `,ReturnDate- ը,smalldate տիպի են : Գիրքը վերցնելու ամսաթիվը միշտ պետք է որոշված լինի : Առաջնային բանալին (ReaderID,BookID)- ն է : ա ) Գրել հարցում ( ներ ), որը ReaderCard աղյուսակում կավելացնի հետևյալ կորտեժները ` (1007, AG-5,25/01/2010,12/02/2010), (1008,LD-15,15/01/2010,null), (1008, MK-17,27/04/2007, null): բ ) Գրել հարցում, որը ReaderCard աղյուսակից կհեռացնի 1007 ընթերցողի AG-5 գիրքի կորտեժը : 11. Կառուցել Transactions(Date,OP,Amount,UserID) աղյուսակը, որտեղ գործարքի ամսաթիվը ` Date- ը, smalldatetime տիպի է, գործարքի կոդը ` OP- ը, char(8) տիպի է, գումարը ` Amount- ը, money տիպի է, ընդրում գումարը միշտ պետք է լրացվի և լինի դրական թիվ, իսկ գործարքը գրանցողի ID- ն ` UserID- ն int տիպի է : Առաջնային բանալին (Date,OP)- ն է : ա ) Գրել հարցում ( ներ ), որը Transactions աղյուսակում կավելացնի հետևյալ կորտեժները ` (07/08/2004, Payment, 10000,1), (15/03/2007,CashIn,50000,2), (31/07/2007,Income,120000,1): բ ) Գրել հարցում, որը Transactions աղյուսակից կհեռացնի 15/03/2007- ի բոլոր գործարքները : Առաջադրանքները ուղարկել հասցեով մինչև հաջորդ դասը նախորդող օրվա