He Xinghe 2006-4-1
ก่อนอื่น ฉันอยากจะขอบคุณ Chen Haihua เพื่อนของฉันสำหรับความช่วยเหลือของเขา เขาเตือนฉันเมื่อฉันเกือบลืมขั้นตอนเหล่านี้ นำความสะดวกสบายมาสู่ทุกคน
ที่นี่เราใช้ไลบรารี Northwind ที่มีอยู่ใน MS SQL Server2000 เป็นตัวอย่าง เราตั้งชื่อฐานข้อมูลใหม่ NorthwindRose เราเลือกเพียงสองตาราง ลูกค้า และพนักงาน เป็นตัวอย่าง นอกจากนี้ เรายังสร้างตารางการ์ดใหม่เพื่อสร้างความสัมพันธ์ระหว่าง ตาราง ความสัมพันธ์ และอื่นๆ แน่นอนว่าคุณได้ติดตั้ง Rose 2003 และ SQL Server2000 มาเริ่มกันเลย
หมายเหตุ: สำหรับแนวคิดบางอย่างที่กล่าวถึงในบทความ เช่น สคีมาและพื้นที่ตาราง โปรดดูที่ หนังสือ "การออกแบบและแอปพลิเคชันฐานข้อมูล UML" จัดพิมพ์โดยสำนักพิมพ์โพสต์และโทรคมนาคมของประชาชน
ดูผลสุดท้ายก่อน
รูปที่ 1. แผนภาพความสัมพันธ์ใน SQLServer2000
รูปที่ 2 แผนภาพความสัมพันธ์ใน Rose2003
ขั้นตอนที่ 1: สร้างเอกสาร MDL ใหม่ใน Rose2003 และตั้งชื่อเป็น Northwind.mdl
ขั้นตอนที่ 2: ขยายมุมมองคอมโพเนนต์ สร้าง DataBase ใหม่ ตั้งชื่อเป็น NorthwindRose นี่คือเอกสารใหม่ที่จะปรากฏใน SQL Server ชื่อไลบรารี คุณสามารถสังเกตได้ที่นี่ว่า Rose ได้สร้างแพ็คเกจใหม่สองแพ็คเกจ "Global Data Types" และ "Schemas" ใน "Logical View" โดยอัตโนมัติ
รูปที่ 3
ขั้นตอนที่ 3 ของการสร้างฐานข้อมูลใหม่: คลิกขวาเพื่อเลือก "NorthwindRose" เปิด "Open Specification" และเลือก Target เป็น "Micfosoft SQL Server2000.x" หากคุณต้องการนำเข้าฐานข้อมูลประเภทอื่น คุณ สามารถเลือกได้เช่นกัน ฉันยังไม่ได้ลอง และทุกคนสามารถเขียนคู่มืออ้างอิงเวอร์ชันอื่นได้
รูปที่ 4 เลือกประเภทฐานข้อมูลเป้าหมาย
ขั้นตอนที่ 4: สร้างพื้นที่ตาราง NorthwindRose ใหม่ คลิกขวาเพื่อเปิด "NorthwindRose" - "Data Modeler" - "ใหม่" - "Tablespace" ภายใต้สถานการณ์ปกติ โปรดตั้งชื่อพื้นที่ตารางว่า "PRIMARY" " ในตัวอย่าง ฉันตั้งชื่อพื้นที่ตาราง NorthwindSpace ซึ่งฉันจะเน้นในภายหลัง เพราะเมื่อนำเข้า SQL Server 2000 ไม่เพียงแต่จะสามารถใช้ชื่อพื้นที่ตารางใดก็ได้ แต่จะต้องสอดคล้องกับรายการใน "กลุ่มไฟล์" ใน เซิร์ฟเวอร์ SQL
รูปที่ 5. สร้างพื้นที่ตารางใหม่
ขั้นตอนที่ 5: คลิกขวาและเลือก "Schemas" ใน "Logical View" เพื่อสร้าง Schema ใหม่ ฉันตั้งชื่อมันว่า Schema_Actor ที่นี่ คุณสามารถตั้งชื่อมันได้ตามต้องการ ตราบใดที่คุณเข้าใจ
รูปที่ 6
ขั้นตอนที่ 6 ของการสร้าง schema: คลิกขวาเพื่อเปิด "Schema Actor" สร้าง Data Model Diagram ใหม่ ตั้งชื่อเป็น Main ดับเบิลคลิกที่ไอคอน Main เราจะเห็นการเปลี่ยนแปลงในแถบเครื่องมือ ดังที่แสดงด้านล่าง
รูปที่ 7 สร้างมุมมองโมเดลข้อมูลและดับเบิลคลิกเพื่อเปิด แถบเครื่องมือใหม่จะปรากฏขึ้น
ขั้นตอนที่ 7: คลิกขวาเพื่อเปิด "Open Specification" ของ "Schema_Actor" เลือก "NorthwindRose" สำหรับ DataBase ระบุสังกัด และสร้างตารางใหม่พร้อมกัน
รูปที่ 8 สร้างตารางใหม่ในสคีมา
ขั้นตอนที่ 8: สร้างตารางใหม่สามการ์ด ลูกค้า และพนักงาน ภายใต้สคีมา "Schema_Actor" ที่นี่ฉันจะยกตัวอย่างการสร้างตารางการ์ดเพื่อแนะนำวิธีสร้างตาราง Rose2003 และวิธีการตั้งค่าคีย์หลัก เลือกประเภทข้อมูลและความยาวของข้อมูล ฯลฯ
1. ลาก "ตาราง" จากแถบเครื่องมือไปยังมุมมองข้อมูลหลัก จากนั้นตาราง T_5 จะปรากฏขึ้น
2. ดับเบิลคลิกที่ตาราง T_5 ตั้งค่าพารามิเตอร์ของตาราง ตั้งชื่อเป็นการ์ด และเลือก Tablespace เป็น NotrhwindSpace
3. เลือก "คอลัมน์" คลิกขวาที่พื้นที่ว่างแล้วเลือก "แทรก" เพื่อแทรกคอลัมน์ใหม่
4. แก้ไขคุณสมบัติของคอลัมน์ที่สร้างขึ้นใหม่ ตั้งชื่อเป็น CardID และแสดงความคิดเห็นเป็น ID การ์ดและ คีย์หลัก
5. เลือก "ประเภท" เพื่อตั้งค่าประเภทข้อมูลและความยาวของ CardID และตั้งเป็นคีย์หลัก
6. สร้างคอลัมน์ชื่อ CardType ตั้งค่าประเภทข้อมูลเป็น nvarchar และความยาวเป็น 10
ขั้นตอนที่ 9: เลียนแบบวิธีที่กล่าวถึงในขั้นตอนที่ 8 สร้างตารางลูกค้าและตารางพนักงาน และใช้การระบุความสัมพันธ์และไม่ได้ระบุ ในแถบเครื่องมือ เครื่องมือความสัมพันธ์ทั้งสองสร้างความสัมพันธ์ระหว่างสามตาราง การระบุความสัมพันธ์ แสดงถึงความสัมพันธ์ของคีย์หลักและคีย์ต่างประเทศ ทิศทางการลากควรมาจากตารางหลักไปยังตารางรอง และตารางลูกค้าและพนักงานเป็นตารางย่อย CardID เป็นคีย์หลักและคีย์นอกของอีกสองตาราง ความสัมพันธ์แบบไม่ระบุตัวตนจะสร้างความสัมพันธ์ของคีย์ต่างประเทศเท่านั้น
หมายเหตุ: เลือกเครื่องมือก่อน จากนั้นเลือกตารางหลัก แล้วลากเส้นเชื่อมต่อเพื่อชี้ไปที่ตารางลูก
รูปที่ 12: แผนภาพความสัมพันธ์ของตารางที่เสร็จสมบูรณ์
หลังจากสร้างความสัมพันธ์ของตารางแล้ว คุณสามารถนำเข้าฐานข้อมูลได้ โปรดทำตามขั้นตอนต่อไปนี้
ขั้นตอนที่ 10: เปิด "Enterprise Manager" ของ SQL Server และสร้างฐานข้อมูลใหม่ชื่อ "NorthwindRose" มีชื่อเดียวกับฐานข้อมูลใน Rose เปิดคุณสมบัติและเพิ่ม "NorthwindSpace" ในคอลัมน์ "File Group" นี่คือ Tablespace ที่เกี่ยวข้องใน Rose
รูปที่ 13 ความสัมพันธ์ระหว่าง Tablespace และกลุ่มไฟล์
ขั้นตอนที่ 11: คลิกขวาเพื่อเปิด "NorthwindRose" และเลือก "Forward Engineer" คลิก "ถัดไป" เลือกส่วนที่คุณต้องการนำเข้า จากนั้น "ถัดไป" และเลือก "ดำเนินการ" กรอกบัญชีเข้าสู่ระบบและรหัสผ่านของ SQL Server เลือกฐานข้อมูล "NorthwindRose" ที่เพิ่งสร้างขึ้น และเลือกถัดไปเพื่อนำเข้า
รูปที่ 14.
ตรวจสอบ SQLServer2000 ในระหว่างกระบวนการนำเข้า คุณจะเห็นว่าตารางได้ถูกสร้างขึ้นโดยอัตโนมัติ หากการนำเข้าล้มเหลว สาเหตุหลักมาจากสาเหตุต่อไปนี้:
1.
เมื่อสร้างตาราง Tablespace ที่เกี่ยวข้องจะไม่ถูกเลือก
Tablespace ใน Rose ไม่พบรายการที่เกี่ยวข้องในกลุ่มไฟล์ใน SQL Server 2000
รูปที่ 15 โครงสร้างตารางที่นำเข้า
อยู่ที่นี่ ดูเหมือนว่าทุกอย่างดำเนินไปอย่างราบรื่นและควรจะสำเร็จ ลองเพิ่มข้อมูลลงในตารางการ์ดกัน
รูปที่ 16. ข้อผิดพลาดเมื่อสร้างข้อมูลใหม่
แสดงว่ามีปัญหากับพื้นที่ตารางที่เราตั้งชื่อว่า "NorthwindSpace" ในขณะนี้ เราควรเปลี่ยน Tablespace ของ Rose2003 เป็น "PRIMARY" และลองอีกครั้ง ก่อนที่จะนำเข้าใหม่ คุณต้องลบตารางในไลบรารี NorthwindRose ก่อน สุดท้ายนี้ คุณจะเห็นไลบรารี่ที่สามารถใช้งานได้
โอเค คราวหน้าผมจะเขียนเกี่ยวกับมุมมองข้อมูล การนำเข้าโพรซีเดอร์ที่จัดเก็บของ Rose2003 และ SQLServer และวิธีทำให้ทั้งสองซิงค์กัน