Thiết kế cơ sở dữ liệu

30 0 0
Thiết kế cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài Giải môn Thiết kế cơ sở dữ liệu chuyên ngành Kế toán của Trường Đại học Công nghiệp thành phố Hồ Chí Minh Chu trình Bán hàng thực hiện trên phần mềm SQL, lời giải chi tiết và hình ảnh cụ thể ở từng bước ở từng bước.

Trang 1

CHÚ Ý: KHI THI CÁC EM CHỈ CẦN LÀM THEO YÊU CẦU VÀ KHÔNG NÊN PHỨC TẠP HÓA VẤN ĐỀ

Loại tiền (Loại tiền, Tên loại tiền)

Bảng 3: Nhân viên: (Gôm chung Nhân viên bán hàng, nhân viên thu tiền và thủ quỹ)Nhân viên (Mã nhân viên, Tên nhân viên, Bộ phận, chức vụ)

Bảng 4: Khách hàng

Khách hàng (Mã khách hàng, Tên khách hàng, Địa chỉ, Mã số thuế)Bảng 5: Thông tin KH

Thông tin (Mã khách hàng , Số điện thoại )

(Do mối quan hệ giữa Hàng tồn kho và bán hàng là M:N nên tạo thêm 1 bảng mới1 mặt hàng có thể được bán nhiều lần và 1 lần có thể bán nhiều mặt hàng)

Bảng 6: Bán hàng

Bán hàng (Ngày, Số hóa đơn, Mã nhân viên, Mã khách hàng)

Bảng 7: Chi tiết bán hàng

(Quan hệ bảng Hàng tồn kho, Bán hàng và bảng Chi tiết bán hàng là quan hệ 1-N nên chuyển khóa chính từ bên 1 qua nhiều làm khóa ngoại)

Chi tiết bán hàng (Số hóa đơn, Mã hàng, Đơn giá, Số lượng)

Trang 2

Bảng 8: Thu tiền

Thu tiền (Ngày, Số phiếu, loại tiền, tỷ giá, Mã nhân viên, Mã khách hàng)

Bảng 9: Chi tiết thu tiền

Chi tiết thu tiền (Số phiếu, Số hóa đơn, Số tiền)

THỰC HIỆN (55 phút)

1 Tạo Database (đặt tên theo quy ước)

- Click chuột phải vào mục Database = > New Database

2 Tạo bảng

- Click chuột phải vào mục Tables = > New Table…

- Các em nên thống nhất kiểu dữ liệu, chiều dài cho các cột mã như Mã NV, Mã KH … để dễ nhớ (Tuy nhiên khi thiết lập mối quan hệ chú ý, coi chừng nhầm)

- Muốn sửa lại cấu trúc bảng: Click chuột phải vào bảng => Chọn Design - Để dễ tạo cấu trúc cho các bảng sau, các em nên bung các cột để dễ xem - Các em có thể copy từ Excel qua …

Trang 3

3 Thiết lập mối quan hệ

- Click chuột phải vào mục Database Diagrams = > New Database Diagrams … - Chọn các bảng liên quan để Add vào

Tạo các mối quan hệ

Trang 4

- Nếu muốn xem hay xóa mối quan hệ thì click chuột phải vào sợi dây quan hệ, chọn Delete… - Coi chừng kéo nhầm mqh (ví dụ MaKH lại kéo nhầm thành MaNV)

- Muốn sửa lại lược đồ: Click chuột phải vào lược đồ => Chọn Modify

4 Nhập liệu (Copy bên Excel qua)

* Nhập liệu theo mối quan hệ 1-N (nhập bảng 1 trước)

- Click chuột phải vào bảng => Edit Top … Rows

Trang 5

Nếu các em đã tạo bảng trên Excel thì copy toàn bộ bảng và dán qua (chú ý trình tự cột nhé)

(Các em chưa làm quen nhiều với Excel thì không nên xử lý nhiều trên Excel mà nên dùng chức năng đơn giản như Lọc, Tìm và thay thế, sao, chép…)

5 Lập báo cáo (CÁC EM THỐNG NHẤT CÁCH LÀM NÀY NHÉ – OFFICE 2016 TRỞ VỀ SAU)

a Liệt kê các khách hàng có mua hàng trong tháng 1 năm 2020

Chọn Database => Mở cửa sổ query => Save lại lền và nhớ nơi lưu trữ

Trang 6

Click vào cửa sổ Query => Design Query in Editor…

Thêm các bảng có liên quan

Trang 7

Chọn các chỉ tiêu cần lấy và lấy ntn?

Giải thích: (Các em xem kỹ cấu trúc đơn giản của lệnh Select)

Column: Cột cần lấy

Alias: Tiêu đề muốn hiện lênTable: Từ bảng

Output: Xuất dữ liệu ra hay chỉ để xử lýSort Type: Kiểu sắp xếp

Sort Order: Trình tự sắp xếpFilter: Tiêu chí lọc

DISTINCT: Không trùng

Trang 8

Sau đó OK=> Câu truy vấn được đưa vào cửa sổ Bôi đen câu lệnh truy vấn và thực thi Execute (Nhấn F5)

Kiểm tra, sai thì sửa lại: Các em có thể sửa trực tiếp trên câu truy vấn hoặc bôi đen toàn bộ câu truy

vấn => Design Query in Editor…

Mở Excel, đặt tên theo quy ước (Tên file, tên sheet, tên bảng, tên query…)

Để lập báo cáo các em vào mục Data => Get Data => From Database

Trang 9

Sever: Tên máy chủDatabase: Tên Database

=> Click vào nút Advanced => hiện cửa sổ SQL statement => Copy SQL câu a dán vào =>OK

=> Nhấn Connect => Load

Trang 10

=> Báo cáo đổ ra bảng => Vào Tab Query

Chọn Properties => Nhập Query Name, nên check vào Refresh data when Opening the file

Trang 11

b Tổng doanh số bán ra theo nhân viên

c Tổng doanh số bán ra theo khách hàng và mặt hàng trong tháng 1 năm 2020

Trang 12

d Lập báo cáo tổng hợp công nợ cuối tháng tháng 1 năm 2020(Để đơn giản tách thành các bước nhỏ)

Lập tổng tiền phải thu

Lập bảng đã thu

Trang 13

Nối Dữ liệu các bảng

Tính công nợ

Kết quả

e Tổng doanh số bán cho khách hàng ra theo Khu vực (Tỉnh, Thành phố)- SV TỰ LÀM NHÉ!

a: Nếu 1 công ty có 1 cửa hàng: Để làm câu này các em tách cột địa chỉ trong bảng 4.Khachhang thành 2 cột (Thêm cột Khu vục)

b: Nếu 1 công ty có nhiều cửa hàng: Thêm cột Khu vực trong bảng 6.BanHang

Trang 14

Giải bằng câu lệnh Truy vấn:

Trang 16

CÁC EM CÓ THỂ LÀM THEO CÁCH SAU KHI LẬP BÁO CÁO (KHI TƯƠNG ĐỐI KHÁ VỀ EXCEL)

Vào Data => From Other Sources => From SQL Server

Chọn máy chủ => Next

Chọn Database, chọn bảng, mối quan hệ => Next

Trang 17

Save Data Connection File and Finish (Chú ý nếu có quy ước thì đặt, không thì để mặc định)

Trang 18

Chọn kiểu báo cáo muốn làm

Khi làm câu sau: Data => Existing Connections => Chọn hoặc Browse for More… Hoặc copy Sheet Báo cáo rồi sửa lại theo yêu cầu mới

Trang 19

Sau khi Connect thì trong Excel đã có các bảng và mối quan hệ

Các em có thể kiểm tra: vào File => Options => chọn Customize Ribbon hoặc lick chuột phải phía ngoài chọn Customize Ribbon

Trang 20

check vào Developer để Tab này hiện lên

Rồi chọn Tab Developer, chọn mục COM Add-ins và chọn Microsoft Power Pivot for Excel kiểm tra

Trang 21

CÁC CHÚ Ý

1 Trước khi vào thi:

a Mở và xem máy chủ SQL Server Running chưa (Trang 22) b Thiết lập sẵn cho phép sửa cấu trúc bảng (Trang 22) c Cho phép tạo lược đồ quan hệ (nếu được) (Trang 21) d Cửa sổ nhìn không quen (Trang 22)

2 Khi vào thi:

a Chú ý đường dẫn Database được tạo b Lưu câu lệnh truy vấn (Ổ E:\)

c Cho phép tạo lược đồ (Trang 21)

d.Tạo tên và đường dẫn, phục hồi Database theo quy định

MỘT SỐ LỖI SINH VIÊN THƯỜNG GẶP- SQL server không chạy (Trang 22)

- Không cho phép sửa cấu trúc bảng (Trang 22)- Không cho phép tạo lược đồ

Click chuột phải vào Database => Properties => Chọn mục File => Mục Owner click vào … => Mở cửa sổ Select Database Owner => Chọn Browse => Check vào mục sa và OK

- Sửa lại bảng: Click chuột phải vào bảng => Chọn Design

- Cửa sổ nhìn không quen(Trang 20)

Trang 22

TRƯỚC KHI THI:

1 Xem SQL server Running chưa:

Click chuột phải vào thanh Task Manager => chọn Task Manager => Chọn Tab Services Nếu SQL server đang Stopped thì click chuột phải chọn Running

Nếu không được thì hỏi giảng viên

2 Mở SQL và cho phép sửa cấu trúc bảng:

Vào Menu Tools => chọn Options => Chọn Designer = > Bỏ check Prevent saving changes that …

3 Reset cửa sổ :

Vào Menu Window = > Reset Window Layout

Trang 23

2 SQL

CÂU LỆNH ĐƠN GIẢN CỦA SELECT

SELECT Biểu thức hoặc các cột [ INTO Tên bảng mới ]

FROM Tên bảng nguồn [ WHERE điều kiện]

[ GROUP BY Tên cột làm tiêu thức thống kê ] [ HAVING điều kiện thống kê ]

[ ORDER BY biểu thức sắp xếp [ ASC | DESC ] ]

TOÁN TỬ UNION TRONG SQL SERVER

SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn

HÀM CHARINDEX: Trả về vị trí bắt đầu của một chuỗi ký tự trong một chuỗi ký tự cho trước.CÚ PHÁP: CHARINDEX(chuỗi cần xác định vị trí, chuỗi cho trước, vị trí bắt đầu tìm)Ví dụ: tìm vị trí bắt đầu của chuỗi DH trong chuỗi 'Lớp DHKT3TC'

SELECT CHARINDEX(‘DH’, N'Lớp DHKT3TC')

 5

HÀM LEFT | RIGHT: Lấy n ký tự bắt đầu từ đầu bên trái|phải của chuỗi.CÚ PHÁP: LEFT | RIGHT(chuỗi cần lấy,số ký tự cần lấy)

Ví dụ: Lấy chữ Lớp trong chuỗi 'Lớp DHKT3TC'

Trang 24

HÀM SUBSTRING: Lấy n ký tự bắt đầu từ vị trí bất kỳ của chuỗi.

CÚ PHÁP: SUBSTRING (chuỗi cần lấy, vị trí ký tự đầu tiên, số ký tự cần lấy)Ví dụ: Lấy chữ DH trong chuỗi 'Lớp DHKT3TC'

HÀM UPPER| LOWER: đổi một chuỗi từ chữ thường | hoa sang chữ hoa | thườngCÚ PHÁP: UPPER| LOWER(chuỗi cần đổi)

Trang 26

SELECT ROUND(1235.13459,-3) 1000.00000

HÀM POWER: Tính lũy thừa của một số

CÚ PHÁP: POWER(Số cần lũy thừa, bậc lũy thừa)Ví dụ: Tính lũy thừa của 23

SELECT POWER(2,3) 8

Hàm ngày tháng

HÀM DATEADD: Thêm vào một số ngày, hoặc tháng, hoặc năm của một ngày cho trước.CÚ PHÁP: DATEADD(bộ phận của ngày, giá trị thêm vào, ngày cần thêm)

Với: bộ phận của ngày có thể là ngày, tháng hoặc năm Xem bảng Các bộ phận của ngàyVí dụ: Thêm vào ngày 15/05/2011 thêm 2 ngày

SELECT DATEADD(dd,2, ‘15/05/2011’) 2011-05-17 00:00:00.000

HÀM DATENAME: Trả về tên của bộ phận một ngày của ngày xác định.CÚ PHÁP: DATEADD(bộ phận của ngày, ngày cần lấy)

Với: bộ phận của ngày có thể là ngày, tháng hoặc năm Xem bảng Các bộ phận của ngàyVí dụ: trả về tên tháng của ngày 15/05/2011

SELECT DATENAME(mm, ‘15/05/2011’) May

HÀM DATEPART: Trả về số nguyên đại diện bộ phận của ngày xác định.CÚ PHÁP: DATEPART(bộ phận của ngày, ngày cần lấy)

Với: bộ phận của ngày có thể là ngày, tháng hoặc năm Xem bảng Các bộ phận của ngàyVí dụ: trả về tháng số mấy của ngày 15/05/2011

Trang 27

HÀM DAY|MONTH|YEAR: Trả về ngày|tháng|năm của một ngày xác định.

Các hàm thống kê thông thường được dùng kèm với mệnh đề thống kê GROUP BY.HÀM AVG: Tính giá trị trung bình của một tổ

HÀM COUNT: Đếm các giá trị trong một tổHÀM MAX: Tính giá trị lớn nhất của một tổHÀM MIN: Tính giá trị nhỏ nhất của một tổHÀM SUM: Tính tổng các giá trị của một tổ

Toán tử luận lý (logic)

BETWEEN Đúng nếu giá trị nằm trong một đoạn

Trang 28

3 Kiểu dữ liệu trong SQL

Kiểu dữ liệu chuỗi kí tự trong SQL Server

Dưới đây là các kiểu dữ liệu thuộc nhóm chuỗi kí tự trong SQL Server (Transact-SQL).

CHAR(kich_thuoc)Tối đa 8000 kí tự.

Tối đa 8000 kí tự hoặc theo số tối đa.

kich_thuoc là số kí tự lưu trữ Độ dài tùy biến.

Nếu chỉ định là toi_da thì tối đa là 2GB.

Không chứa kí tự Unicode.

Không chứa kí tự Unicode NCHAR(kich_thuoc)Tối đa 4000 kí tự.Độ dài cố định.

Kí tự Unicode NVARCHAR(kich_thuoc)

hoặc

Tối đa 4000 kí tự hoặc theo số tối đa.

kich_thuoc là số kí tự lưu trữ Độ dài tùy biến.

Nếu số toi_da được chi định thì số

Tối đa 8000 kí tự hoặc theo số tối đa.

kich_thuoc là số kí tự lưu trữ Độ dài tùy biến.

Nếu chỉ định là toi_da thì tối đa là

Trang 29

Kiểu dữ liệu dạng số trong SQL Server

Dưới đây là danh sách các kiểu dữ liệu thuộc dạng số trong SQL Server (Transact-SQL) số nằm sau dấu phẩy Đồng nghĩa với kiểu dữ số nằm sau dấu phẩy Đồng nghĩa với kiểu dữ liệu DECIMAL.

FLOAT(n)Số dấu phẩy động n mặc định là 53 nếukhông được chỉ định cụ thể.

n là số lượng của số bit lưu trữ trong một kí hiệu

Trang 30

Kiểu dữ liệu ngày tháng/thời gian trong SQL Server phân của giây)

Giá trị thời gian lấy từ

Ngày đăng: 15/04/2024, 01:00

Tài liệu cùng người dùng

Tài liệu liên quan