intTypePromotion=1
ADSENSE

Hướng dẫn SQL & XQuery cho IBM DB2, Phần phụ lục: Phụ lục A

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:34

69
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tất cả các bảng trong cơ sở dữ liệu Aroma và các mối quan hệ giữa chúng với nhau Pat Moffatt, Giám đốc Chương trình quản lý thông tin, Sáng kiến học đường, IBM Bruce Creighton, Chuyên viên lập kế hoạch các phần kỹ năng, IBM Jessica Cao, Chuyên viên phát triển các công cụ đào tạo, IBM Tóm tắt: Phụ lục A mô tả tất cả các bảng trong cơ sở dữ liệu Aroma, bao gồm hai lược đồ: một lược đồ hình sao đơn giản cho các thông tin bán lẻ và một lược đồ nhiều hình sao...

Chủ đề:
Lưu

Nội dung Text: Hướng dẫn SQL & XQuery cho IBM DB2, Phần phụ lục: Phụ lục A

  1. Hướng dẫn SQL & XQuery cho IBM DB2, Phần phụ lục: Phụ lục A Tất cả các bảng trong cơ sở dữ liệu Aroma và các mối quan hệ giữa chúng với nhau Pat Moffatt, Giám đốc Chương trình quản lý thông tin, Sáng kiến học đường, IBM Bruce Creighton, Chuyên viên lập kế hoạch các phần kỹ năng, IBM Jessica Cao, Chuyên viên phát triển các công cụ đào tạo, IBM Tóm tắt: Phụ lục A mô tả tất cả các bảng trong cơ sở dữ liệu Aroma, bao gồm hai lược đồ: một lược đồ hình sao đơn giản cho các thông tin bán lẻ và một lược đồ nhiều hình sao (multistar) cho các thông tin mua hàng. Phụ lục này nằm trong loạt bài hướng dẫn về SQL & XQuery cho IBM DB2.. V ề phụ lục này Phụ lục A mô tả tất cả các bảng trong cơ sở dữ liệu Aroma, bao gồm hai lược đồ: một lược đồ hình sao đơn giản cho các thông tin bán lẻ và một lược đồ nhiều hình sao (multistar) cho các thông tin mua hàng. Hầu hết các thí dụ trong bài viết này sử dụng các bảng trong lược đồ bán lẻ. Các bảng mua hàng được sử dụng trong một vài ví dụ yêu cầu một lược đồ linh hoạt hơn để minh hoạ phù hợp. Kết nối tới cơ sở dữ liệu Bạn cần phải kết nối đến một cơ sở dữ liệu trước khi bạn có thể sử dụng câu lệnh SQL để truy vấn hoặc thao tác với các dữ liệu. Câu lệnh CONNECT kết hợp một kết nối cơ sở dữ liệu với một tên người sử dụng. Bạn hãy hỏi giảng viên hướng dẫn của bạn về tên cơ sở dữ liệu mà bạn cần phải kết nối tới. Đối với loạt bài hướng dẫn này, tên cơ sở dữ liệu là aromadb.
  2. Để kết nối vào cơ sở dữ liệu aromadb, hãy gõ nhập lệnh sau đây tại trình xử lý dòng lệnh DB2: CONNECT TO aromadb USER userid USING password Thay thế userid và password bằng mã nhận dạng ID người sử dụng và mật khẩu mà bạn nhận được từ giảng viên hướng dẫn. Nếu không yêu cầu phải có ID người sử dụng và mật khẩu, thì bạn chỉ cần sử dụng câu lệnh sau: CONNECT TO aromadb Thông điệp sau cho biết bạn đã thực hiện thành công kết nối: Database Connection Information Database server = DB2/NT 9.0.0 SQL authorization ID = USERID Local database alias = AROMADB Một khi bạn đã được kết nối, bạn có thể bắt đầu sử dụng cơ sở dữ liệu. Cơ sở dữ liệu Aroma: lược đồ bán lẻ Hầu hết các ví dụ trong tài liệu hướng dẫn này được dựa trên dữ liệu của cơ sở dữ liệu Aroma cơ bản, cơ sở dữ liệu này theo dõi việc bán lẻ hàng hàng ngày tại các
  3. cửa hàng của công ty Aroma Coffee and Tea. Hình 1 minh hoạ lược đồ cơ bản này. Hình 1. Lược đồ cơ bản Các hình chân chim trong lược đồ này biểu thị mối quan hệ một - nhiều giữa hai bảng. Ví dụ, mỗi giá trị phân biệt trong cột Perkey của bảng Period có thể chỉ xảy ra một lần trong bảng đó, nhưng xảy ra nhiều lần trong bảng Sales. Lược đồ Aroma cơ bản Các bảng sau đây tạo thành cơ sở dữ liệu Aroma cơ bản: Định nghĩa các khoảng thời gian như ngày, tháng, và năm. Period Định nghĩa lớp các sản phẩm bán tại cửa hàng bán lẻ. Class Định nghĩa các sản phẩm riêng biệt bán tại cửa hàng bán lẻ, bao gồm cà Product phê và trà dạng đóng gói và dạng để rời, máy pha cà phê.
  4. Định nghĩa thị trường của doanh nghiệp theo vùng địa lý. Market Định nghĩa các cửa hàng bán lẻ riêng biệt thuộc sở hữu và vận hành bởi Store công ty Aroma Coffee and Tea. Định nghĩa các loại hình, khoảng thời gian và trị giá của các chương Promotion trình khuyến mãi trên các sản phẩm khác nhau. Chứa số doanh thu bán hàng cho các sản phẩm của Aroma trong các Sales khoảng thời gian tại các cửa hàng khác nhau. Chứa danh sách khách hàng đã mua các loại thẻ khuyến mãi. Gold Các bảng Period (thời kỳ), Class (lớp sản phẩm), Product (sản phẩm), M arket (thị trường), Store (cửa hàng bán lẻ), Promotion (khuyến mãi) và Gold (khách hàng vàng) là những ví dụ về những bảng chiều (dimensions) của hoạt động kinh doanh tiêu biểu. Chúng nhỏ và chứa các dữ liệu mô tả quen thuộc với người sử dụng Bảng Sales là một ví dụ tốt về một bảng sự kiện. Nó chứa hàng ngàn hàng, và các thông tin bổ xung thêm rộng rãi của nó được truy cập trong các truy vấn bằng các phép nối tới các bảng chiều mà nó tham chiếu. Dữ liệu mẫu của các bảng Class và Product Truy vấn SELECT * FROM aroma.class;
  5. Kết quả Lớp sản Classkey Mô tả lớp phẩm Các sản phẩm cà phê rời 1 Bulk_beans Các sản phẩm chè rời 2 Bulk_tea Các gia vị rời 3 Bulk_spice Các sản phẩm cà phê đóng gói riêng biệt 4 Pkg_coffee Các sản phẩm chè đóng gói riêng biệt 5 Pkg_tea Các sản phẩm gia vị đóng gói riêng biệt 6 Pkg_spice Chén cà phê, chén chè, lọ gia vị, máy pha 7 Hardware cà phê espresso Các mẫu thêu, hộp quà tặng, giỏ quà 8 Gifts Áo T-shirts và mũ vải 12 Clothing Truy vấn SELECT * FROM aroma.product;
  6. Kết quả Classkey Prodkey Prod_Name Pkg_Type 1 0 Veracruzano No pkg 1 1 Xalapa Lapa No pkg 1 10 Colombiano No pkg 1 11 Expresso XO No pkg 1 12 La Antigua No pkg 1 20 Lotta Latte No pkg 1 21 Cafe Au Lait No pkg 1 22 NA Lite No pkg 1 30 Aroma Roma No pkg 1 31 Demitasse Ms No pkg 2 0 Darjeeling Number 1 No pkg 2 1 Darjeeling Special No pkg 2 10 Assam Grade A No pkg
  7. ... Bảng Class và Product Bảng Product mô tả các sản phẩm được định nghĩa trong các cơ sở dữ liệu Aroma. Bảng Class mô tả các lớp sản phẩm của các sản phẩm nói trên. Mô tả Cột: Bảng Class Tên cột Nội dung Kiểu số nguyên (integer), là mã định danh một hàng trong bảng Class. classkey Classkey là khóa chính. class_type Chuỗi ký tự là mã định danh một nhóm sản phẩm. class_descChuỗi ký tự mô tả một nhóm sản phẩm. Mô tả cột: Bảng Product Tên cột Nội dung Tham chiếu khóa ngoài tới bảng Class. classkey Kiểu số nguyên (integer), kết hợp với một giá trị của Classkey làm mã định danh một hàng trong bảng Product. Classkey/prodkey là khóa prodkey chính gồm hai cột. prod_nameChuỗi ký tự là mã định danh một sản phẩm. C ơ sở dữ liệu chứa 59 sản phẩm. Một cơ sở dữ liệu điền đầy đủ dữ liệu sẽ có nhiều sản phẩm hơn
  8. nữa. Mặc dù một số sản phẩm của Aroma có cùng tên, chúng thuộc các lớp khác nhau và có kiểu đóng gói khác nhau. pkg_type Chuỗi ký tự là mã định danh một kiểu đóng gói cho mỗi sản phẩm. Dữ liệu mẫu của các bảng Store và Market Truy vấn SELECT * FROM aroma.market; Kết quả Mktkey HQ_City HQ_State District Region 1 Atlanta GA Atlanta South 2 Miami FL Atlanta South 3 New Orleans LA New Orleans South 4 Houston TX New Orleans South 5 New York NY New York North
  9. ... Truy vấn SELECT * FROM aroma.store; Kết quả StorekeyMktkeyStore_Type Store_Name Street City State Zip 1234 Roasters, Los 1 14 Small University Los Gatos CA 95032 Gatos Ave San Jose 5678 2 14 Large Roasting San Jose CA 95156 Bascom Ave Company Cupertino 987 DeAnza 3 14 Medium Cupertino CA 97865 Coffee Supply Blvd Moulin Rouge 898 Main New 4 3 Medium LA 70125 Roasting Street Orleans 98675 5 10 Small Moon Pennies University Detroit MI 48209 Ave
  10. 9865 6 9 Small The Coffee Club Lakeshore Chicago IL 06060 Blvd ... Bảng Market và Store Bảng Store định nghĩa các cửa hàng của công ty Aroma Coffee and Tea. Bảng Market mô tả các thị trường tại Mỹ mà mỗi cửa hàng nằm trong thị trường đó. Mỗi thị trường được xác định bởi một thành phố thủ phủ. Bảng Market là một bảng ngoài, giống như bảng Class. Mô tả cột: Bảng Market Tên Nội dung cột Kiểu số nguyên (integer), là mã định danh một hàng trong bảng Market. Mktkey Mktkey là khóa chính. Chuỗi ký tự là mã định danh một thành phố. Bảng Market định nghĩa 17 hq_city thành phố. Một cơ sở dữ liệu đầy đủ có thể có hàng ngàn thành phố. Chuỗi ký tự là mã định danh một bang. State Chuỗi ký tự là mã định danh một hạt được dựa trên thành phố thủ phủ. District Một cơ sở dữ liệu toàn cầu sẽ chứa tên các quốc gia hoặc đất nước hay khu vực địa lý khác. Chuỗi ký tự là mã định danh một vùng. Bảng Market chỉ định nghĩa 4 Region vùng trên toàn lãnh thổ Mỹ. Một cơ sở dữ liệu toàn diện sẽ bao gồm nhiều vùng và có thể nhiều hạt trong một vùng.
  11. Mô tả Cột: Bảng Store Tên cột Nội dung Kiểu số nguyên (integer), là mã định danh một hàng trong bảng storekey Store. Storekey là khóa chính. Tham chiếu khóa ngoài tới bảng Market. Mktkey Chuỗi ký tự xác định một cửa hàng theo kích cỡ. store_type Chuỗi ký tự xác định một cửa hàng theo tên. store_name street, city, state, Các cột xác định địa chỉ của mỗi cửa hàng. zip Dữ liệu mẫu của bảng Period Truy vấn SELECT * FROM aroma.period; Kết quả
  12. Perkey Date Day Week Month Qtr Year 1 2004-01-01 TH 1 JAN Q1_04 2004 2 2004-01-02 FR 1 JAN Q1_04 2004 3 2004-01-03 SA 1 JAN Q1_04 2004 4 2004-01-04 SU 2 JAN Q1_04 2004 5 2004-01-05 MO 2 JAN Q1_04 2004 6 2004-01-06 TU 2 JAN Q1_04 2004 7 2004-01-07 WE 2 JAN Q1_04 2004 8 2004-01-08 TH 2 JAN Q1_04 2004 9 2004-01-09 FR 2 JAN Q1_04 2004 10 2004-01-10 SA 2 JAN Q1_04 2004 11 2004-01-11 SU 3 JAN Q1_04 2004 12 2004-01-12 MO 3 JAN Q1_04 2004 13 2004-01-13 TU 3 JAN Q1_04 2004
  13. 14 2004-01-14 WE 3 JAN Q1_04 2004 15 2004-01-15 TH 3 JAN Q1_04 2004 16 2004-01-16 FR 3 JAN Q1_04 2004 17 2004-01-17 SA 3 JAN Q1_04 2004 18 2004-01-18 SU 4 JAN Q1_04 2004 19 2004-01-19 MO 4 JAN Q1_04 2004 20 2004-01-20 TU 4 JAN Q1_04 2004 ... Bảng Period Bảng Period định nghĩa các khoảng thời gian là hàng ngày, hàng tuần, hàng tháng, hàng quý, hàng năm cho các năm 2004, năm 2005, và quý I năm 2006. Mô tả cột Tên Nội dung cột Kiểu số nguyên (integer), là mã định danh một hàng trong bảng Period. Perkey Perkey là khóa chính. Date Giá trị ngày tháng, xác định một ngày kể từ ngày 1 tháng Một, 1998 đến
  14. ngày 31 tháng Ba, 2000. Chuỗi ký tự viết tắt của các ngày trong tuần. Day Kiểu số nguyên (integer), xác định mỗi tuần của năm theo số thứ tự của Week tuần (Tuần số 1 đến tuần số 53, mỗi tuần mới bắt đầu vào ngày chủ nhật). Month Chuỗi ký tự viết tắt tên của mỗi tháng. Chuỗi ký tự xác định duy nhất mỗi quý (ví dụ, Q1_98, Q3_99). Qtr Kiểu số nguyên (integer), xác định một năm. Year Dữ liệu mẫu của bảng Promotion Truy vấn SELECT * FROM aroma.promotion; Kết quả PromokeyPromo_TypePromo_DescValueStart_DateEnd_Date
  15. No 9999-01- 9999-01- 0 1 0.00 promotion 01 01 Aroma 2004-01- 2004-01- 1 100 catalog 1.00 01 31 coupon Aroma 2004-02- 2004-02- 2 100 1.00 catalog 01 29 coupon Aroma 2004-03- 2004-03- 3 100 1.00 catalog 01 31 coupon Aroma 2004-04- 2004-04- 4 100 catalog 1.00 01 30 coupon Aroma 2004-05- 2004-05- 5 100 catalog 1.00 01 31 coupon Aroma 2004-06- 2004-06- 6 100 catalog 1.00 01 30 coupon Aroma 2004-07- 2004-07- 7 100 catalog 1.00 01 31 coupon Aroma 2004-08- 2004-08- 8 100 catalog 1.00 01 31 coupon
  16. Aroma 2004-09- 2004-09- 9 100 catalog 1.00 01 30 coupon Aroma 2004-10- 2004-10- 10 100 catalog 1.00 01 31 coupon Aroma 2004-11- 2004-11- 11 100 catalog 1.00 01 30 coupon Aroma 2004-12- 2004-12- 12 100 catalog 1.00 01 31 coupon Aroma 2005-01- 2005-01- 13 100 1.00 catalog 01 31 coupon Aroma 2005-02- 2005-02- 14 100 1.00 catalog 01 28 coupon Aroma 2005-03- 2005-03- 15 100 catalog 1.00 01 31 coupon Aroma 2005-04- 2005-04- 16 100 catalog 1.00 01 30 coupon 2005-05- 2005-05- Aroma 17 100 1.00 01 31 catalog
  17. coupon Aroma 2005-06- 2005-06- 18 100 1.00 catalog 01 30 coupon Aroma 2005-07- 2005-07- 19 100 catalog 1.00 01 31 coupon Aroma 2005-08- 2005-08- 20 100 catalog 1.00 01 31 coupon ... Bảng Promotion Bảng Promotion là một bảng chiều, nó mô tả chương trình khuyến mãi được áp dụng cho các sản phẩm khác nhau trong các khoảng thời gian khác nhau. Các bảng Promotion đôi khi được gọi là bảng điều kiện, vì chúng cho biết các điều kiện theo đó hàng hóa được bán. Mô tả cột Tên cột Nội dung Kiểu số nguyên (integer), là mã định danh một hàng trong bảng promokey Promotion. Promokey là khóa chính. Kiểu số nguyên (integer), là mã định danh chương trình khuyến promo_type mãi (mã số khuyến mãi).
  18. Chuỗi ký tự mô tả các loại hình khuyến mãi. promo_desc Số thập phân, biểu diễn giá trị tính bằng đô-la của chương trình value khuyến mãi, ví dụ như giảm giá hoặc giá trị của một phiếu giảm giá. Giá trị ngày tháng, cho biết khi nào khuyến mại bắt đầu và kết start_date, end_date thúc. Dữ liệu mẫu của bảng Sales Truy vấn SELECT * FROM aroma.sales; Kết quả Perkey Classkey Prodkey Storekey Promokey Quantity Dollars 2 2 0 1 116 8 34.00 2 4 12 1 116 9 60.75 2 1 11 1 116 40 270.00
  19. 2 2 30 1 116 16 36.00 2 5 22 1 116 11 30.25 2 1 30 1 116 30 187.50 2 1 10 1 116 25 143.75 2 4 10 2 0 12 87.00 2 4 11 2 0 14 115.50 2 2 22 2 0 18 58.50 2 4 0 2 0 17 136.00 2 5 0 2 0 13 74.75 2 4 30 2 0 14 101.50 2 2 10 2 0 18 63.00 2 1 22 3 0 11 99.00 2 6 46 3 0 6 36.00 2 5 12 3 0 10 40.00
  20. 2 1 11 3 0 36 279.00 2 5 1 3 0 11 132.00 2 5 10 3 0 12 48.00 ... Bảng Sales Khoá chính gồm nhiều phần Bảng Sales chứa một khoá chính gồm nhiều phần: Mỗi một cột trong năm cột của nó là tham chiếu khóa ngoài tới một khóa chính của một bảng khác: perkey, classkey, prodkey, storekey, promokey Khóa chính này liên kết các dữ liệu của bảng Sales tới các bảng chiều Period, Product, Store và Promotion. Các phép nối tới bảng Sales được hiển thị trong các ví dụ trong suốt loạt bài hướng dẫn này. Mô tả cột Tên cột Nội dung Tham chiếu khóa ngoài tới bảng Period. perkey
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD


intNumView=69

 

Đồng bộ tài khoản
2=>2