Bài giảng Cơ sở Dữ liệu SQL: Thiết kế CSDL và Truy vấn do ThS. Nguyễn Anh Việt biên soạn nhằm giúp các bạn sinh viên biết cách kết nối SQL Server, tạo được cơ sở dữ liệu trên SQL Server khi mới bước đầu làm quen với môn cơ sở dữ liệu. Mời các bạn cùng tham khảo.
Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Kết nối SQL Server Chạy chương trình HeidiSQL nối kết vào SQL Server: IT-1: Tên máy Nếu khơng kết nối cần cài Visual Studio 2008 (máy chạy Windows XP) hay Visual Studio 2010 (máy chạy Windows trở lên) * Tạo CSDL: Database QLHH Kích chọn phần thực Truy vấn SQL nhập lệnh CREATE DATABASE "QLHH"; Bấm phím [F9] để thực thi nút mũi tên xanh giống hình USE "QLHH"; Thực thi xong chọn nút Refresh ([F5]) ñề quan sát kết Bấm chọn vào Database QLHH * Tạo Table: KhachHang CREATE TABLE "KhachHang" ( "MaKH" NVARCHAR(4) NOT NULL, "TenKH" NVARCHAR(30) NULL DEFAULT NULL, "DiaChi" NVARCHAR(255) NULL DEFAULT NULL, "DThoai" NVARCHAR(255) NULL DEFAULT NULL, PRIMARY KEY ("MaKH") ) ; Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Tạo Table: MatHang CREATE TABLE "MatHang" ( "MaMH" NVARCHAR(4) NOT NULL, "TenMH" NVARCHAR(255) NOT NULL, "DVT" NVARCHAR(255) NULL DEFAULT NULL, "DonGia" INT NULL DEFAULT NULL, PRIMARY KEY ("MaMH") ) ; * Tạo Table: DonDH CREATE TABLE DonDH ( "MaDH" NVARCHAR(4) NOT NULL, "NgayDH" DATETIME NULL DEFAULT NULL, "NgayGH" DATETIME NULL DEFAULT NULL, "MaKH" NVARCHAR(255) NULL DEFAULT NULL, PRIMARY KEY ("MaDH") ) ; * Tạo Table: ChiTietDH CREATE TABLE "ChiTietDH" ( "MaDH" NVARCHAR(4) NOT NULL, "MaMH" NVARCHAR(4) NOT NULL, "SoLuong" INT NULL DEFAULT NULL ) ; * Nhập liệu cho Table: KhachHang Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Nhập liệu cho Table: MatHang * Nhập liệu cho Table: DonDH * Nhập liệu cho Table: ChiTietDH Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Khoá ngoại Là cột Table khác có liên kết liệu đến cột khố Table Khố ngoại Foreign key * Hiển thị tất Đơn ñặt hàng SELECT DonDH.MaDH, DonDH.MaKH, KhachHang.TenKH, MatHang.TenMH, MatHang.DVT, MatHang.DonGia, ChiTietDH.SoLuong, [DonGia]*[SoLuong] AS [Thành tiền] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH; Muốn giới hạn hiển thị đơn đặt hàng cơng ty Hồng Hơn, thêm vào điều kiện WHERE SELECT DonDH.MaDH, DonDH.MaKH, KhachHang.TenKH, MatHang.TenMH, MatHang.DVT, MatHang.DonGia, ChiTietDH.SoLuong, [DonGia]*[SoLuong] AS [Thành tiền] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH Where KhachHang.TenKH = 'Hồng Hơn' Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn Tuy nhiên, để tìm đơn đặt hàng Biti’s khó chút: SELECT DonDH.MaDH, DonDH.MaKH, KhachHang.TenKH, MatHang.TenMH, MatHang.DVT, MatHang.DonGia, ChiTietDH.SoLuong, [DonGia]*[SoLuong] AS [Thành tiền] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH Where KhachHang.TenKH = 'Biti' + Char(39) + 's' * Hiển thị Đơn đặt hàng có Ngày giao hàng thời ñiểm từ 1-3-2004 ñến 30-4-2004 Biên soạn: Th.s Nguyễn Anh Việt Trang ... NULL ) ; * Nhập liệu cho Table: KhachHang Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Nhập liệu cho Table: MatHang * Nhập liệu cho Table:... DonDH * Nhập liệu cho Table: ChiTietDH Biên soạn: Th.s Nguyễn Anh Việt Trang Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Khoá ngoại Là cột Table khác có liên kết liệu đến cột.. .Bài giảng Cơ sở Dữ liệu SQL – Phần – Thiết kế CSDL Truy vấn * Tạo Table: MatHang CREATE TABLE "MatHang" ( "MaMH" NVARCHAR(4)