Thiết lập các cơ sở dữ liệu DB2 phía sau
Bây giờ sẽ cần phải định nghĩa một số các bảng cơ sở dữ liệu cho ứng dụng của bạn, mà bạn sẽ làm trong phần này.
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(1,2,3)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(4)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(5)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(6)
Định nghĩa các bảng
Liệt kê 6. Tạo bảng trader trong DB2
Một đặc tính của DB2 7.1 và các phiên bản mới hơn là là có khả năng luôn tự động tạo ra nhận dạng (generated always as identity) đó là cung cấp một cơ chế đánh thứ tự đơn giản; bạn không bao giờ phải chỉ định giá trị của khóa chính khi chèn các hàng vào trong bảng.
Sử dụng cùng một kỹ thuật tương tự, hãy tạo ra một bảng dành cho các cổ phần trong Liệt kê 7.
Liệt kê 7. Tạo bảng stock trong DB2
Tiếp theo tạo bảng lưu trữ phần chủ yếu của dữ liệu, đó là bản thân các giao dịch chứng khoán. Mỗi giao dịch biểu diễn một việc mua hoặc bán cổ phiếu, và nó được liên kết với một người giao dịch và một loại chứng khoán. Một giao dịch lưu giữ số cổ phiếu (một giá trị âm biểu thị lượng bán hoặc lượng thiếu hụt của một cổ phần, một giá trị dương biểu thị lượng mua) và giá của mỗi cổ phiếu tại thời điểm giao dịch. Lưu ý rằng
Liệt kê 8. Tạo ra bảng trade trong DB2
Liệt kê 9. Tạo một bảng facebook_user riêng biệt trong DB2
Điền dữ liệu bằng các tài khoản môi giới mẫu
Để cung cấp cho ứng dụng của bạn một số dữ liệu phục vụ hoạt động, hãy điền vào các bảng một ít thông tin. Đầu tiên tạo ra một số những người giao dịch (xem Liệt kê 10).
Liệt kê 10. Tạo những người giao dịch mẫu trong cơ sở dữ liệu
Tiếp theo tạo một số cổ phần (xem Liệt kê 11) trong cơ sở dữ liệu đó.
Liệt kê 11. Tạo ra một số cổ phần mẫu trong cơ sở dữ liệu
Sau đó, bạn sẽ khởi động hai người giao dịch của bạn bằng việc mua lần đầu là 100 cổ phiếu của 3 mã chứng khoán ở mức giá khác nhau (xem các bảng liệt kê 12 và 13).
Liệt kê 12. Tạo giao dịch mẫu của người giao dịch "jake1"
Liệt kê 13 tạo các giao dịch mẫu của người giao dịch "jake2".
Liệt kê 13. Tạo các giao dịch mẫu của người giao dịch "jake2"
Để xác nhận rằng bạn đã thiết lập xong tất cả, hãy thực hiện một số câu lệnh chọn . Bắt đầu bằng cách gõ
Sau đó gõ
Sau đó gõ
Như vậy, vào thời điểm này bạn đã cài đặt các công cụ của bạn, ứng dụng Facebook cơ bản của bạn đang chạy và một cơ sở dữ liệu sẵn sàng cho hoạt động. Bạn đang sẵn sàng để bắt đầu phát triển ứng dụng Facebook của bạn trong Phần 2!
Nguồn IBM
Bây giờ sẽ cần phải định nghĩa một số các bảng cơ sở dữ liệu cho ứng dụng của bạn, mà bạn sẽ làm trong phần này.
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(1,2,3)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(4)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(5)
Làm chủ việc phát triển ứng dụng Facebook bằng PHP, IBM Rational Application Developer, IBM WebSphere Application Server và DB2, Phần 1: Thiết lập các thành phần(6)
Định nghĩa các bảng
Nghề môi giới chứng khoán có những người giao dịch và các cổ phần và
những người giao dịch mua và bán cổ phiếu chứng khoán để duy trì "các
vị trí" của họ trên mỗi loại cổ phần – họ sở hữu bao nhiêu cổ phiếu
hoặc đã thiếu hụt bao nhiêu. Tiền tố brokerage (môi giới) được thêm
vào trước tên mọi bảng để chỉ rõ một lược đồ cho các bảng; nếu không,
chúng sẽ thuộc lược đồ mặc định.
Sử dụng giao diện dòng lệnh của DB2 để tạo ra các bảng. Từ trong một
cửa sổ nhắc lệnh, hãy mở một cửa sổ nhắc lệnh DB2 bằng cách gõ
db2cmd và sau đó từ cửa sổ nhắc lệnh DB2 được
mở ra, bắt đầu một phiên DB2 bằng cách gõ db2start. DB2 sẽ đưa ra kết quả: xử lý SQL2063N DB2START
đã thành công (SQL2063N DB2START processing was successful).
Tiếp theo, tạo một cơ sở dữ liệu, gọi là " stocks": bằng cách gõ
db2 create database stocks, Nó sẽ báo kết quả
lệnh tạo cơ sở dữ liệu đã thực hiện thành công (The CREATE DATABASE command completed successfully).
Kết nối vào cơ sở dữ liệu bằng cách gõ
db2 connect
to stocks. DB2 sẽ đưa ra kết quả Thông
tin kết nối cơ sở dữ liệu (Database Connection Information,
phiên bản của DB2, mã nhận dạng ID được cấp quyền hạn SQL và bí danh
của cơ sở dữ liệu là "stocks".
Bắt đầu tạo ra bảng của bạn (xem Tải về để
tìm tất cả các sql được sử dụng trong phần này). Đầu tiên, tạo một
bảng trader (người môi giới), để trống nó với mục đích làm ứng dụng
trình diễn mẫu (xem Liệt kê 6).
Liệt kê 6. Tạo bảng trader trong DB2
db2 create table trader ( id int not null primary key generated always as identity, username varchar(30) not null unique, password varchar(30) not null) |
Một đặc tính của DB2 7.1 và các phiên bản mới hơn là là có khả năng luôn tự động tạo ra nhận dạng (generated always as identity) đó là cung cấp một cơ chế đánh thứ tự đơn giản; bạn không bao giờ phải chỉ định giá trị của khóa chính khi chèn các hàng vào trong bảng.
Sử dụng cùng một kỹ thuật tương tự, hãy tạo ra một bảng dành cho các cổ phần trong Liệt kê 7.
Liệt kê 7. Tạo bảng stock trong DB2
db2 create table stock (
id int not null primary key generated always as identity,
ticker varchar(5) not null unique)
|
Tiếp theo tạo bảng lưu trữ phần chủ yếu của dữ liệu, đó là bản thân các giao dịch chứng khoán. Mỗi giao dịch biểu diễn một việc mua hoặc bán cổ phiếu, và nó được liên kết với một người giao dịch và một loại chứng khoán. Một giao dịch lưu giữ số cổ phiếu (một giá trị âm biểu thị lượng bán hoặc lượng thiếu hụt của một cổ phần, một giá trị dương biểu thị lượng mua) và giá của mỗi cổ phiếu tại thời điểm giao dịch. Lưu ý rằng
share_price là một int vì bạn
lưu trữ share_price như là giá tính theo
đơn vị xu (cents) để tránh lỗi dấu phẩy động (xem Liệt kê 8).Liệt kê 8. Tạo ra bảng trade trong DB2
db2 create table trade (
id int not null primary key generated always as identity,
trader_id int not null references trader(id) on delete cascade,
stock_id int not null references stock(id) on delete cascade,
shares int not null,
share_price int not null,
created_on timestamp not null)
|
Với mục đích trình diễn mẫu, khi bạn cần có một vị trí hiện tại của
người giao dịch trên một chứng khoán, bạn sẽ tổng cộng các kết quả của
các giao dịch của người giao dịch ấy về chứng khoán đó, đối lập với
việc lưu trữ vị trí hiện tại của những người giao dịch trong một bảng
riêng biệt như là một bản chụp nhanh tại thời điểm của mỗi giao dịch.
Cuối cùng, thay cho việc thêm một facebook_user_id trực tiếp vào bảng
giao dịch, hãy sử dụng một bảng facebook_user riêng biệt, bởi vì bạn
đang thêm một ứng dụng Facebook đến một hệ thống trực tuyến môi giới
chứng khoán hiện có (xem Liệt kê 9).
Liệt kê 9. Tạo một bảng facebook_user riêng biệt trong DB2
db2 create table facebook_user (
facebook_user_id int not null primary key,
trader_id int not null references trader(id) on delete cascade,
created_on timestamp not null)
|
Bạn chỉ chèn một hàng facebook_user khi một người sử dụng Facebook thêm
ứng dụng của bạn vào tài khoản Facebook của họ, tại điểm mà họ đăng
nhập vào hệ thống của bạn để bạn có thể liên kết mã nhận dạng id
Facebook của họ với bản ghi của người giao dịch hiện tại của họ trong
hệ thống hiện tại của bạn. Nếu họ không có một bản ghi của người giao
dịch hiện tại ở đó, hãy yêu cầu họ tạo ra một bản ghi như thế trên hệ
thống của bạn; ứng dụng Facebook giúp thúc đẩy việc đăng ký mới trên
trên trang web giao dịch hiện tại của bạn.
Điền dữ liệu bằng các tài khoản môi giới mẫu
Để cung cấp cho ứng dụng của bạn một số dữ liệu phục vụ hoạt động, hãy điền vào các bảng một ít thông tin. Đầu tiên tạo ra một số những người giao dịch (xem Liệt kê 10).
Liệt kê 10. Tạo những người giao dịch mẫu trong cơ sở dữ liệu
db2 insert into trader (username, password) values ('jake1', 'password1')
db2 insert into trader (username, password) values ('jake2', 'password2')
|
Tiếp theo tạo một số cổ phần (xem Liệt kê 11) trong cơ sở dữ liệu đó.
Liệt kê 11. Tạo ra một số cổ phần mẫu trong cơ sở dữ liệu
db2 insert into stock (ticker) values ('JAKE')
db2 insert into stock (ticker) values ('NYC')
db2 insert into stock (ticker) values ('ABC')
db2 insert into stock (ticker) values ('USB')
db2 insert into stock (ticker) values ('UCLA')
db2 insert into stock (ticker) values ('KRZY')
|
Sau đó, bạn sẽ khởi động hai người giao dịch của bạn bằng việc mua lần đầu là 100 cổ phiếu của 3 mã chứng khoán ở mức giá khác nhau (xem các bảng liệt kê 12 và 13).
Liệt kê 12. Tạo giao dịch mẫu của người giao dịch "jake1"
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 4400, current timestamp
from trader, stock
where trader.username = 'jake1'
and stock.ticker = 'JAKE'
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 2300, current timestamp
from trader, stock
where trader.username = 'jake1'
and stock.ticker = 'NYC'
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 6400, current timestamp
from trader, stock
where trader.username = 'jake1'
and stock.ticker = 'ABC'
|
Liệt kê 13 tạo các giao dịch mẫu của người giao dịch "jake2".
Liệt kê 13. Tạo các giao dịch mẫu của người giao dịch "jake2"
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 1200, current timestamp
from trader, stock
where trader.username = 'jake2'
and stock.ticker = 'USB'
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 10200, current timestamp
from trader, stock
where trader.username = 'jake2'
and stock.ticker = 'UCLA'
db2 insert into trade (trader_id, stock_id, shares, share_price, created_on)
select trader.id, stock.id, 100, 5200, current timestamp
from trader, stock
where trader.username = 'jake2'
and stock.ticker = 'KRZY'
|
Để xác nhận rằng bạn đã thiết lập xong tất cả, hãy thực hiện một số câu lệnh chọn . Bắt đầu bằng cách gõ
select * from
trader. DB2 sẽ đưa ra kết quả 2 bản ghi được chọn (2 record(s) selected).Sau đó gõ
select * from stock. DB2 sẽ đưa ra
kết quả 6 bản ghi được chọn (6 record(s)
selected).Sau đó gõ
select * from trade. DB2 sẽ đưa ra
kết quả 6 bản ghi được chọn (6 record(s)
selected), một bản ghi ứng với mỗi giao dịch mẫu mà bạn
thiết lập. Vì bạn không có bất kỳ dữ liệu mẫu nào cho bảng
facebook_user, nên không có gì để xác nhận. Như vậy, vào thời điểm này bạn đã cài đặt các công cụ của bạn, ứng dụng Facebook cơ bản của bạn đang chạy và một cơ sở dữ liệu sẵn sàng cho hoạt động. Bạn đang sẵn sàng để bắt đầu phát triển ứng dụng Facebook của bạn trong Phần 2!
Nguồn IBM




0 comments:
Post a Comment