se304 lec7

Post on 24-Jul-2015

301 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Өгөгдлийн сангийн тодорхойлолт

Indexes, Primary keys, Foreign keys

SE304 ӨГӨГДЛИЙН САНГИЙН УДИРДАХ СИСТЕМ

Батлав: ПХТ-ийн эрхлэгч Г.ЭРДЭНЭЧИМЭГ

ЛЕКЦ №7

ШУТИС-Ñ¿ÒÑ, Ìàãèñòð Ë.Áàòáèëýã (bayanzeerd2002@yahoo.com, +976-88515155)

MS SQL Server-ийн Хувилбарууд

MS SQL Server нь олон янзын хувилбаруудтай

ба тус бүр өөрсдийн давамгай чадваруудтай ба

мөн өөр өөр түвшний хэрэглэгчдэд

зориулагдсан. Эдгээрийг доор дурдвал :

SQL Server Compact Edition (SQL CE)

Энэ нь SQL Server-ийн бага оврын хувилбар юм (2MB DLL

footprint-тэй). Бусдаасаа бага хэмжээтэй байх ба мөн чадваруудыг

нь багасган тохируулсан. Энэ хувилбар нь хамгийн ихдээ 4 ГБ

хэмжээтэй байх боломжтой өгөгдлийн сангаар хязгаарлагдсан.

Мөн Windows орчинд ажилладаггүй.

SQL Server Express Edition

Express Edition бол SQL Server-н багасгасан,

үнэгүй хувилбар боловч өгөгдлийн сангийн үндсэн

цөм хөдөлгүүрийг агуулсан байдаг. Өгөгдлийн

сангийн , хэрэглэгчийн тоонд хязгаарлалт

байдаггүй ба нэг процессор, 1GB ram, 4 GB

өгөгдлийн сангийн файлтай байхаар

хязгаарлагддаг. Бүтэн өгөгдлийн сан нь

ганцхан .DBF файл байдаг. Энэ нь тэгэхээр

XCOPY технологийг ашиглахад хялбар болгож

байдаг

SQL Server Workgroup Edition

Энэ хувилбар нь өгөгдлийн сангийн цөм хөдөлгүүр,

функцуудыг агуулдаг боловч нэмэлт үйлчилгээнүүдийг

агуулдаггүй.

SQL Server Standard Edition

Энэ хувилбар нь өгөгдлийн сангийн цөм

хөдөлгүүр, stand-alone үйлчилгээний дагуух

зүйлсийг агуулдаг. Enterprise хувилбараас

ялгаатай нь хязгаарлагдмал нэг дор холбогдох

боломжтой хэрэглэгчийн тоо юм. Бас зарим өндөр

түвшний hot-add memory (сервер ажиллаж байх

үед ч санах ой нэмэх боломжтой ! )гэх мэт

функцууд , параллель индекслэх функц байдаггүй.

SQL Server Enterprise Edition

Энэ хувилбар нь SQL Server-н иж бүрэн хувилбар бөгөөд өгөгдлийн

сангийн цөм хөдөлгүүр, нэмэлт үйлчилгээнүүд, SQL Server cluster –г

үүсгэх, зохион байгуулах өргөн хэмжээний боломжууд хавсаргагдсан

байдаг.

SQL Server Developer Edition

Энэ хувилбар нь Enterprise хувилбарын зарим

чанаруудыг агуулсан боловч зөвхөн хөгжүүлэх,

тестлэх боломжтой, өөрөөр хэлбэл бүтээгдэхүүн

(өгөгдлийн бааз) серверт ажиллуулах боломжгүй

лицензтэй байдаг. Энэ хувилбар нь Microsoft-н

DreamSpark хөтөлбөрийн дагуу оюутнууд үнэгүй

татаж авах боломжтой байдаг.

Relationship холболт

Relational database-ийн хүснэгтүүдэд нэг давхацсан /адилхан/ талбар байх ёстой. Энэ давхцагч талбар нь нэг хүснэгтийн нөгөө хүснэгттэй холбох холбоос байх болно. Тэгэхээр relationship гэдэг нь нэг хүснэгтийн бичлэгийг нөгөө хүснэгтийн бичлэгтэй холбох холбоос юм. Үүний ачаар тус тусдаа хүснэгтүүд хоорондоо харилцан уялдаа холбоотой болж цогц өгөгдлийн санг үүсгэх юм. Хүснэгтүүдийг хооронд нь холбох 3 янзын холбоос байдаг. Үүнд:1. Нэг нь нэгтэй /one to one/2. Нэг нь олонтой /one to many/3. Олон нь олонтой /many to many/

Primary key / Foreign key-түлхүүр талбар

Relatonal database-ийн хүснэгтийн бичлэгүүд давхардсан

байж болохгүй. Үүний тулд нэг бичлэгийг нөгөөгөөс ялгаж өгч

байдаг дор хаяж нэг талбар байх ёстой. Ийм талбарыг

түлхүүр талбар буюу primary key гэнэ. Жишээ нь: 5 талбартай

хоёр бичлэгийн 4 талбарын утга нь адилхан байлаа гэхэд

үлдсэн ганц талбарын утгууд нь өөр хоорондоо ялгаатай байх

ёстой.

Түлхүүр талбарыг мөн хүснэгтүүд хооронд relationship

үүсгэхэд ашиглана. Энэ тохиолдолд эхний хүснэгтэд primary

key болж орсон бол нөгөө хүснэгтэд түүнийг foreign key гэнэ.

Primary key тодорхойлох

Хүснэгтийнхээ талбарууд дотроос түлхүүр

талбарыг тодорхойлж өгөхийн тулд түлхүүр

талбар болгох талбараа сонгон хулганы баруун

товчийг даран Set primary key командыг өгөх

хэрэгтэй. Ингэхдээ түлхүүр талбараар сонгох

талбарын утгууд давхардсан байж болохгүйг

анхаарна

Хүснэгтүүдээ Relationship-ээр холбох

Үүсгэсэн хүснэгтүүдээ relationship-ээр холбохын тулд

үүсгэсэн Databse дотор хамгийн эхний хавтас буюу

Database Diagrams хэсгийг идэвхжүүлээд хулганы баруун

товчийг дарж New Database Diagram-ийг сонгоход Add

Table цонх гарч ирнэ. Энэ цонхны Tables хэсэгт холбох

хүснэгтүүдээ Add хийнэ. Гарч ирсэн хүснэгтүүдийн

primary key тодорхойлсон хэсэг дээр дарж чирээд нөгөө

хүснэгт рүү аваачин click хийнэ. Холболт хийсэн Diagram-

даа нэрээ өгч хадгалах шаардлагатай. Ингэснээр

хүснэгтүүд хоорондоо уялдаа холбоотой болж цогц

өгөгдлийн сан бүрдэж байгаа юм.

SELECT, WHERE, AND, OR, ORDER BY

SQL SELECT Statement - SQL SELECT үйлдэл

SELECT үйлдэл нь Өгөгдлийн сангийн өгөгдлүүдийг сонгож харахад хэрэглэгдэнэ.Үр дүн нь үр дүнгийн хүснэгтэнд хадгалагдах бөгөөд түүнийг result-set (Үр дүнгийн олонлог) гэж нэрлэдэг.

Формат1. SELECT баганы_нэр(-үүд) FROM хүснэгтийн_нэр2. SELECT * FROM хүснэгтийн_нэр

Жишээ.SELECT LastName, FirstName FROM Student

SELECT * FROM Student* тавьсанаар хүснэгтийн бүх бичлэгийн харуулна

SELECT DISTINCT үйлдэл

Хүснэгтэнд зарим баганууд давхардсан (ижил) утга агуулсан байдаг. Хэрэв тийм хүснэгтээс ялгаатай утгуудыг сонгож харах шаардлагатай бол DISTINCT үйлдлийг ашигладаг. (Distinct - Ялгаатай)

ФорматSELECT DISTINCT баганы_нэр(-үүд)FROM хүснэгтийн_нэр

WHERE түлхүүр үг

WHERE түлхүүр үг нь бичлэг(өгөгдөл)-үүдийг тодорхой нөхцөлийн дагуу шүүж харуулна.

ФорматSELECT баганы_нэр(-үүд)FROM хүснэгтийн_нэрWHERE нөхцөл

Жишээлбэл, "Student" Хүснэгтээс "СБ-3-7" гэсэн хаягтай сурагчдыг сонгож харъя.SELECT * FROM Student WHERE Address = 'СБ-3-7'

Текстэн болон огноон төрлийн утгын 2 талд нь дан кавычка('') тавигдана.

Жишээ. "Student" хүснэгт нь төрсөн огноо гэсэн огноон(Datetime) төрөлтэй баганатай байг. 1992.05.05-нд төрсөн оуютнуудыг харахдаа:SELECT * FROM Student WHERE BirthDate = '1992.05.05'

WHERE үйлдэлтэй хамт хэрэглэгддэг операторууд

= Тэнцүү

<> Ялгаатай

> Эрс их

< Эрс бага

>= Их буюу тэнцүү

<= Бага буюу тэнцүү

BETWEEN Хооронд

LIKEТухайн багана тухайн дэд мөр(текст)-ийг агуулсан эсэх

INТухайн элемент(утга) бүлэг элемэнт(олонлог) дотор агуулагдсан эсэх

AND ба OR операторууд

AND нь логик үржүүлэх оператор бөгөөд AND-

ээр холбогдсон 2 нөхцөл хоёулаа үнэн үед

нөхцөл үнэн байна. Харин OR оператор нь

логик нэмэх үйлдэл бөгөөд аль нэг нөхцөл

үнэн байхад логик илэрхийллийн утга үнэн

байна

Ж.1. SELECT * FROM Book WHERE Year = 2000 AND Author = 'Garmaa'2000 онд бичигдсэн зохиогчийн нэр нь Garmaa байх номуудыг харуулна.

2. SELECT FirstName, LastName FROM Student WHERE Address LIKE '%БЗ%' OR Address LIKE '%БГ%'Хаяг(Address)-ийн утга нь БЗ болон БГ гэсэн хэсэг агуулсан оюутнуудын нэр, овогийг харуулна.

ORDER BY түлхүүр үг

ORDER BY түлхүүр үг нь result-set(тодорхой бүлэг

өгөгдлүүд)-ийг тодорхой баганаар эрэмбэлж

харуулна. ORDERY BY нь ердийн үед өсөхөөр

эрэмбэлж харуулна. Буурахаар эрэмбэлэхээр бол

DESC түлхүүр үгийг нэмж бичинэ. Харин өсөхөөр

эрэмбэлэхдээ ASC түлхүүр үгийг нэмж бичсэн ч

болно.

Формат

SELECT баганы_нэр(-үүд) FROM хүснэгтийн_нэр ORDER BY

баганы_нэр ASC|DESC

Жишээ.

1. SELECT * FROM Student ORDER BY FirstName

2. SELECT FROM Name, Author, Year FROM Book ORDER BY Year

DESC

Эхний тохиолдолд "Student" хүснэгтийн бүх өгөгдлийг оюутны нэр

буюу FirstName баганаар өсөхөөр эрэмбэлж харуулна, хоёрдох

тохиолдолд "Book" хүснэгтйин Name(Номын нэр), Author(Зохиогч),

Year(он) багануудыг Year баганы утга буурах байдлаар эрэмбэлэн

харуулна. 

SQL Server дээрх өгөгдлийн санг BackUp хийх.

Өгөгдлийн сангийн баазыг өөр компьютерт зөөж ашиглах тохиолдол гардаг.

Энэ тохиолдолд тухайн өгөгдлийн санг өөр дээр нь Backup(нөөцлөх) хийгээд

шилжүүлж зөөх компьютертаа баазаа Restore хийдэг. Энэ үйлдлүүдийг

жишээгээр үзүүлье.

Эхлээд backup хийх. Дараах book_db нэртэй баазыг backup хэрхэн хийдэг

тухай үзье.

Нөөцлөх гэж байгаа баазаа сонгоод хулганы mouse2 –р гарч ирэх цэснээс Тasks -> Back Up… командыг сонгоход дараах цонх гарч ирнэ.

Destination хэсгийн Remove командыг сонгно.

Энэ нь шинээр нөөц үүсгэх зай гаргаж өгч байна. Үүний дараа Add

командыг дарж үргэлжлүүлнэ.

Бааз хадгалах фолдерыг зааж өгсөний дараа баазын

нэрийг бичиж өгөх хэрэгтэй. Баазын нэрийн File name

хэсэгт бичиж өгөх бөгөөд дээрх тохиолдолд book_db гэсэн

баазын нэрийг өөрчлөхгүйгээр өгсөн байна. Энэ нэрийн

өөрөөр өгч болно. Гэвч тухайн нэрээр нь өгөх нь бидэнд

ашигтай. Учир нь програм дотор баазын нэртэй холбоотой

код бичигдсэн байгаа. Файлын нэрийг өгөхдөө book_db.bak

өргөтгөл зааж өгсөнийг анзаараарай. Энэ нь backup

файлын өргөтгөл юм.

OK товч дарахад. Back Up Database – book_db нэртэй цонх гард чирэх

бөгөөд энэ цонхны Ок командыг сонгосоноор бааз амжилттай нөөцлөгдсөн

гэдгийг илэрхийлж The backup of database ‘book_db’ completed successfully

гэсэн мессеж өгнө.

Ок товч дарснаар ажиллагаа дуусч нөөц файл маань

c:/database/book_db.bak нэртэйгээр үүснэ.

АНХААРАЛ ХАНДУУЛСАНД

БАЯРЛАЛАА

top related