Profil de SongphonSongphon's amusing blog.PhotosBlogListesPlus Outils Aide

Blog


29/09/2006

เริ่มต้นกับ SQL Server Express 2005

บทนำ

Microsoft SQL Server เป็น Database Server จากฝั่งของค่ายไมโครซอฟท์เวอร์ชั้นล่าสุดก็คือ 2005 นี่เองแต่ความเปลี่ยนแปลงไม่ได้มีแค่ Version ที่ใหม่กว่า แต่ว่า Ms ยังออก Version สำหรับใช้งานได้ฟรี โดยตัดเอาความสามารถที่เป็น Feature ในระดับ Enterprise ไปซึ่งทำให้ง่ายต่อการฝึกใช้งานของผู้เริ่มศึกษา ก็คือ Express Version นี่เอง

สำหรับ Function ของ Express version ก็มีดังนี้

  • Stored procedures
  • Views
  • Triggers
  • Cursors
  • Extended indexes
  • Snapshot isolation level
  • Advanced query optimizer
  • Transact-SQL support
  • Full Text Search
  • Reporting Services

ถ้าไม่รู้จักก็ไม่เป็นไรครับดูให้ผ่านๆตาไปก่อน

มาถึงการติดตั้งขั้นต่อแรกเลยก็ให้โหลดส่วนประกอบต่างๆ โดยมีสองสามส่วนหลักๆสำหรับการเริ่มต้นใช้งานคือ
1. Prerequisite - สำหรับ SQL 2005 นั้นต้องการ .NET Framework 2.0 เป็น Prerequisite โหลดที่นี่ได้เลย .NET Framework 2.0

2. Sql Server 2005 Express - ตัวนี้ก็คือตัว Engine หลักของ Sql 2005 โหลดที่นี่

3. Management Studio - อะไรๆก็จะดูยุ่งยากถ้าไม่มีตัวนี นี่คือตัวที่ใช้จัดการฐานข้อมูลและฟังก์ชั้นอื่นๆของ Sql 2005 โหลดที่นี่

โหลดเส็ดก็ติดตั้งเลยคับ ตามลำดับ

ปล.ในขั้นตอนการติดตั้ง ตัวติดตั้งอาจจะให้โหลดCompoent อื่นเพ่มเติมเช่น XML Pharser หรือ Windows Installer ก็ให้โหลดมาตามที่มันต้องการน่ะครับถึงจะติดตั้งได้

----------------------------

ต่อไปเมื่อติดตั้งเสร็จเรียบร้อยแล้วใน Start Menu เราจะพบ Menu Micrsoft SQL Server 2005 ซึ่งเมื่อคลิ๊กเข้าไปเราจะพบ SQL Server Management Studio Express ให้เราเปิดโปรแกรมนี้ขึ้นมาครับ

เมื่อเปิดโปรแกรมขึ้นมาก็จะพบกับหน้าจอสำหรับ Login


Server type : สำหรับ Express Version ก็จะถูกล๊อคไว้ให้ใช้ได้กับ Database Engine หรือก็คือด้วย SQL Express นั่นเอง
Server name : ก็คือ hostname หรือ ip สำหรับ server ที่จะให้ Managenement Studio เชื่อมต่อไป
Authentication : ก็คือรูปแบบการการยืนยันตัวตนกับ Server โดยมีมีให้เลือกสองแบบคือ Windows และ SQL
Windows Authentication ถ้าเลือกแบบนี้ SQL จะใช้ Windows Security ในการเข้าสู้ฐานข้อมูลของดีคือเราไม่ต้องใส่รหัสผ่าน และมีความปลอดภัยสูงกว่า แต่มักจะมีปัญหาเมื่อ  SQL Server และตัวโปรแกรมที่เรียกใช้งานอยู่กันคนละที่หรืออยู่กันคนละ domain
SQL Server Authentication เป็นการข้อสุ่ DB ด้วย username และ รหัสผ่าน ซึ่งจะค่อนข้างมีปัญหาน้อยกว่าแบบแรกแต่ความปลอดภัยจะต่ำกว่าหากใช้งานไม่ถูกวิธี

ในขั้นแรกให้เลือกเป็นแบบ Windows แล้วกด Connect เลยจะพบกับหน้าจอดังนี้

ให้เรามาดูทางด้านซ้ายกัน จะพบรายการดังนี้
 
LAIN\SQLEXPRESS - LAIN คือชื่อของเครื่องผมเอง ถ้าเครื่องของคุณก็อาจจะเป็นชื่ออื่นๆ \SQLEXPRESS ก็ใช้ระบุว่าเราใช้ SQLEXPRESS

จากนั้นให้เรา Expand Databases Node ออกมา จะเห็นอะไรที่คล้ายๆรูปข้างล่างนี่

รายการที่เห็น 5 รายการก็คือตัวฐานข้อมูลนั่นเอง
- System Database ตัวนี้คือฐานข้อมูลของระบบ SQL server เองเราไม่จำเป็นต้องไปยุ่ง
ส่วนอีกสี่อันที่เหลือก็คือ ฐานข้อมูลที่อยู่ใน SQl Server บนเครื่องผม ซึ่งถ้าหากคุณติดตั้ง SQL Server ครั้งแรกคุณก็อาจจะเห็นแค่ System Database อย่างเดียว

การสร้าง Database

ง่ายเหมือนปอกกล้วยด้วย Management Studio ให้คลิ๊กขวาครับ คลิ๊กขวาที่ Database Node
 
เลือก New Database จะปรากก Dialog ประมาณนี้


ให้ใส่ชื่อ ฐานข้อมูลที่ต้องการในช่อง Database name แล้ว กด Ok ได้เลย
ก็จะกรากฏฐานข้อมูลใหม่ขึ้นมาใน Object Explorer ให้เรา Expand ออกมา
ก็จะได้หน้าตาประมาณนี้ ในที่นี้ผมสร้าง DB ใหม่ชือ่ demonstrate ก็จะได้แบบนี้
 

  • Database Diagram ก็คือ Entity-Relationship Diagram (ER) นั่นเอง
  • Tables ตัวนี้จะเป็นการหลักที่ใช้สร้าง Physical Table ที่ใช้เก้บข้อมูลจริงของเรา
  • Views ใช้กำหนด View จาก Table
  • Synonyms ใช้กำหนดชื่อย่อของฟิลด์เพื่อหลีกเลี่ยงการใช้ Fullname น่นเอง
  • Programability ชื่อเท่เชียว มันก็คอื Store Procedure นั่นแหละ
  • Security อันนี้คงไม่ต้องอธิบายมั้ง บ่งบอกความหมายในตัว

ตอนนี้เราจะมาเล่นกับ Feature พื้นฐานุสดๆก่อนก็คือการสร้าง Table

ง่ายอีกแล้ว เมื่อกดก็จะได้ Dialog ใหม่สำหรับปรับโครงสร้างของ Table แบบนี้

ก็ให้เราใส่ตั้งชื่อแล้วก็กำหนด DataType ของ Field ที่เราต้องการไป
ในที่นี้ผมจะใส่เป็น ตารางสำหรับเก็บเบอรืโทรศัพท์ ชื่อและนามสกุล
โดยกำหนดชื่อฟิลเป็น firstname, lastname, phone โดยมี datatype เป็น varchar, varchar และ int
แบบนี้



ที่เป็นช่องให้ติ๊กอันสุดท้ายคือการยอมให้ Field นั้นสามารถรับค่า Null ได้หรือไม่ ถ้าไม่ติ๊กแสดงว่า Field นั้นจำเป็นต้องมีข้อมูลเสมอ
อะเดียวก่อนดูเหมือนเราจะลืมบางอย่างที่สำคัญไป Primary Key ให้เรากำหนด Primary Key ดังรูป โดยการคลิ๊กขวา


สังเกตว่าเราจะไม่สามารถกำหนดให้ Firstname และ Lastname เป็น Primary key ได้เนือ่งจากข้อมูลเป็น ชนิด VARCHAR
นั้นเอง

Tip
ข้อมูลชนิด NCHAR , CHAR และ VARCHAR นั้นถึงแหมจะสามารถเก็บข้อมูลได้เหมือนกันแต่ระบบการจัดเก้บความเร้วในการค้นหาและเนื้อที่ที่ต้องใช้จัดเก็บนั้นต่างกัน โดยที่ CHAR และ NCHAR จะจัดเก็บข้อมูลเป็นแบบ Fix-length คือมีความยาวของข้อมูลคงที่นั่นเอง ให้ลองพิจารณาเมื่อเรากำหนดข้อมูลใน Field ให้เป็น CHAR(50) หมายความว่า 1 record นั้น field นี้จะต้องเก้บข้อมูลขนาด 50 ตัวอักษรเสมอ ถึงแม้ว่าข้อมูลที่เราใส่ไปจะมีแค่ 1 ตัวก็ตามระบบก็จะเติมช่องว่างในอีก 49 ตัวที่เหลือดังนั้นการจัดเก้บแบบนี้จึงเหมาะกับข้อมูลที่มีขนาดคงที่ เช่นรหัสบัตรประชาชนหรือเลขทะเบียนรถยนต์ เป็นต้น ส่วน VARCHAR นั้นจะเก็บข้อมูลตามความยาวจริงและใส่ตัวแยกปิดท้ายเข้าไปอีก 1 ตัว ดังนั้นถ้าข้อมูลมีขนาด 10 ก็จะต้องใช้ที่เก็บข้อมูลขนาด 11 VARCHAR นั้นเหมาะกับข้อมูลที่มีขนาดไม่คงที่ แต่ความเร็วในการค้นหานั้นจะช้ากว่า CHAR หรือ NCHAR เนื่องจากต้องเสียเวลาในการค้นหา ตัวแยก(Seperator)

หลังจากเราได้โครงสร้างตารางที่ต้องการแล้ว ก็กด save ได้เลยถ้าตารางนั้นยังไม่ถูกตั้งชื่อระบบก็จะให้ใส่ชื่อตาราง
เมือ่ทำการ Save เรียบร้อยที่ Object Explorer ก็จะปรากฏตารางใหม่ขึ้นมา
 
เราสามารถทำการเปิดตารางเพือ่ใส่ข้อมูลได้โดยคลิกขวาที่ชื่อตารางและเลือก Open Table

เป็นอย่างไรบ้างครับการใช้ Management Studio ไม่อยากเลยใช่ไหม ถ้าพอจะจับแนวทางได้แล้วการแก้ไข DB ด้วย Management Studio ก็ดุเหมือนจะเป็นทางที่ง่ายที่สุดทางหนึ่งเลย

สำหรับการ Modify Field ของตารางก็ทำได้โดยคลิ๊กขวาแล้วเลือก Modify เหมือนกัน
พอแค่นี้ก่อนน่ะครับคร่าวหน้าจะแนะนำเรื่องการสร้างกฏความสัมพันธ์ของตารางบ้าง

Commentaires (6)

Veuillez patienter...
Le commentaire entré est trop long. Raccourcissez-le.
Vous n'avez rien entré. Réessayez.
Il est actuellement impossible d'ajouter votre commentaire. Réessayez plus tard.
Pour ajouter un commentaire, tu dois avoir l'autorisation de tes parents. Demander l'autorisation
Tes parents ont désactivé les commentaires.
Il est actuellement impossible de supprimer votre commentaire. Réessayez plus tard.
Vous avez dépassé le nombre maximal de commentaires qu'il est possible d'envoyer le même jour. Réessayez dans 24 heures.
Votre compte a pu laisser les commentaires désactivés parce que nos systèmes indiquent que vous risquez d'arroser d'autres utilisateurs de messages. Si vous pensez que votre compte a été désactivé par erreur, contactez l'assistance en ligne de Windows Live.
Effectuez la vérification de sécurité ci-dessous pour finaliser l'envoi de votre commentaire.
Les caractères entrés pour la vérification de sécurité doivent correspondre à ceux de l'image ou du fichier audio.

Pour ajouter un commentaire, connectez-vous avec votre identifiant Windows Live ID (si vous utilisez Messenger ou Xbox LIVE, vous avez un identifiant Windows Live ID). Connectez-vous


Vous n'avez pas d'identifiant Windows Live ID ? Inscrivez-vous

รูปภาพก้อไม่ขึ้น งง มาก
22 Jan.
ช่วยสอนการสร้างดาต้าเบตตั้งแต่เริ่มต้นได้ไหมค่ะ

22 Jan.
Image de Anonyme
•°o ฝ้าย o°• a écrit :
ขอบคุณค่ะ ในที่สุดก็ทำได้
22 Oct.
sujitra ruangboona écrit :
อยากทราบว่าถ้าตอนนี้ เครื่องลงแบบที่เป็น client แล้วอยากจะลงแบบที่เป็น server จะลงไง เพราะตอนนี้เครื่องไม่สามารถจะรัน local ได้ค่ะ
ส่งเมลล์บอกก้อได้น่ะค่ะ
 
Thanks
21 Fév.
อยาก Restore database อะค่ะ ทามงั้ย ..
 
และขอบคุณสำหรับข้อมูลนะค่ะ เป็นประโยชน์มาก ๆ เรย กำลัง งง พอดี ...
 
ขอบคุณค่ะ 
5 Sept.
PoOkPik K.a écrit :
อ่านแล้ว งงๆ นิดหน่อย เพราะไม่หนัดเรื่องนี้
 
แต่ก็ไม่เปงไร แวะเข้ามาทักทาย
 
Thanks สำหรับคำแนะนำดีๆนะ จาลองเอาไปทำดู 
30 Sept.

Rétroliens

L'URL de rétrolien de ce billet est :
http://nothingnomore.spaces.live.com/blog/cns!78BF003203E44076!228.trak
Blogs Web qui font référence à ce billet
  • Aucune