SQL Server Tips, Teknik, dan Artikel

Contoh Database SQL Server

Contoh Database SQL Server

Contoh Database SQL Server – dalam tutorial ini, Anda akan belajar tentang Contoh Database SQL Server yang disebut BikeStore.

Berikut ini ilustrasi diagram database BikeStore:

Seperti yang Anda lihat dari diagram, database sampel BikeStore memiliki dua skema penjualan dan produksi, dan skema ini memiliki sembilan tabel.

Contoh Database SQL Server

Tabel Basis Data

Penjualan meja.toko

Tabel  sales.storesmencakup informasi toko. Setiap toko memiliki nama toko, informasi kontak seperti telepon dan email, dan alamat termasuk jalan, kota, negara bagian, dan kode pos.

CREATE TABLE sales.stores (
	store_id INT IDENTITY (1, 1) PRIMARY KEY,
	store_name VARCHAR (255) NOT NULL,
	phone VARCHAR (25),
	email VARCHAR (255),
	street VARCHAR (255),
	city VARCHAR (255),
	state VARCHAR (10),
	zip_code VARCHAR (5)
);

Meja penjualan.staffs

Tabel   sales.staffsmenyimpan informasi penting dari staf termasuk nama depan, nama belakang. Ini juga berisi informasi komunikasi seperti email dan telepon.

Seorang staf bekerja di toko yang ditentukan oleh nilai di store_idkolom. Sebuah toko dapat memiliki satu atau lebih staf.

Seorang staf melapor ke manajer toko yang ditentukan oleh nilai di  manager_idkolom. Jika nilai dalam manager_id adalah nol, maka staf adalah manajer puncak.

Jika staf tidak lagi bekerja untuk toko mana pun, nilai di kolom aktif disetel ke nol.

CREATE TABLE sales.staffs (
	staff_id INT IDENTITY (1, 1) PRIMARY KEY,
	first_name VARCHAR (50) NOT NULL,
	last_name VARCHAR (50) NOT NULL,
	email VARCHAR (255) NOT NULL UNIQUE,
	phone VARCHAR (25),
	active tinyint NOT NULL,
	store_id INT NOT NULL,
	manager_id INT,
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (manager_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

Produksi meja.kategori

Tabel production.categoriestersebut menyimpan kategori sepeda seperti sepeda anak-anak, sepeda kenyamanan, dan sepeda listrik.

CREATE TABLE production.categories (
	category_id INT IDENTITY (1, 1) PRIMARY KEY,
	category_name VARCHAR (255) NOT NULL
);

Produksi meja.merek

Tabel   production.brands tersebut menyimpan informasi merek sepeda, misalnya Electra, Haro, dan Heller.

CREATE TABLE production.brands (
	brand_id INT IDENTITY (1, 1) PRIMARY KEY,
	brand_name VARCHAR (255) NOT NULL
);

Produksi meja.produk

Tabel production.productsmenyimpan informasi produk seperti nama, merek, kategori, tahun model, dan daftar harga.

Setiap produk milik merek yang ditentukan oleh brand_idkolom. Oleh karena itu, sebuah merek mungkin memiliki nol atau banyak produk.

Setiap produk juga termasuk dalam kategori yang ditentukan oleh category_idkolom. Juga, setiap kategori mungkin memiliki nol atau banyak produk.

CREATE TABLE production.products (
	product_id INT IDENTITY (1, 1) PRIMARY KEY,
	product_name VARCHAR (255) NOT NULL,
	brand_id INT NOT NULL,
	category_id INT NOT NULL,
	model_year SMALLINT NOT NULL,
	list_price DECIMAL (10, 2) NOT NULL,
	FOREIGN KEY (category_id) 
        REFERENCES production.categories (category_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (brand_id) 
        REFERENCES production.brands (brand_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Penjualan meja.pelanggan

Tabel   sales.customersmenyimpan informasi pelanggan termasuk nama depan, nama belakang, telepon, email, jalan, kota, negara bagian dan kode pos.

CREATE TABLE sales.customers (
	customer_id INT IDENTITY (1, 1) PRIMARY KEY,
	first_name VARCHAR (255) NOT NULL,
	last_name VARCHAR (255) NOT NULL,
	phone VARCHAR (25),
	email VARCHAR (255) NOT NULL,
	street VARCHAR (255),
	city VARCHAR (50),
	state VARCHAR (25),
	zip_code VARCHAR (5)
);

Penjualan meja.pesanan

Tabel sales.ordersmenyimpan informasi header pesanan penjualan termasuk pelanggan, status pesanan, tanggal pesanan, tanggal yang diperlukan, tanggal pengiriman.

Ini juga menyimpan informasi di mana transaksi penjualan dibuat (toko) dan siapa yang membuatnya (staf).

Setiap pesanan penjualan memiliki satu baris di tabel pesanan_penjualan. Pesanan penjualan memiliki satu atau banyak item baris yang disimpan dalam sales.order_itemstabel.

CREATE TABLE sales.orders (
	order_id INT IDENTITY (1, 1) PRIMARY KEY,
	customer_id INT,
	order_status tinyint NOT NULL,
	-- Order status: 1 = Pending; 2 = Processing; 3 = Rejected; 4 = Completed
	order_date DATE NOT NULL,
	required_date DATE NOT NULL,
	shipped_date DATE,
	store_id INT NOT NULL,
	staff_id INT NOT NULL,
	FOREIGN KEY (customer_id) 
        REFERENCES sales.customers (customer_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (staff_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

Tabel penjualan.order_items

Tabel sales.order_itemsmenyimpan item baris dari pesanan penjualan. Setiap item baris milik pesanan penjualan yang ditentukan oleh order_idkolom.

Item baris pesanan penjualan mencakup produk, jumlah pesanan, harga jual, dan diskon.

CREATE TABLE sales.order_items(
	order_id INT,
	item_id INT,
	product_id INT NOT NULL,
	quantity INT NOT NULL,
	list_price DECIMAL (10, 2) NOT NULL,
	discount DECIMAL (4, 2) NOT NULL DEFAULT 0,
	PRIMARY KEY (order_id, item_id),
	FOREIGN KEY (order_id) 
        REFERENCES sales.orders (order_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Produksi meja. stok

Tabel production.stocksmenyimpan informasi persediaan yaitu jumlah produk tertentu di toko tertentu.

CREATE TABLE production.stocks (
	store_id INT,
	product_id INT,
	quantity INT,
	PRIMARY KEY (store_id, product_id),
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

Klik link berikut untuk mendownload contoh script database:

Unduh Contoh Database SQL Server

Sekarang, Anda seharusnya sudah familiar dengan contoh database BikeStore dan siap untuk memuatnya ke dalam SQL Server.

Madara
Madara

Content Writer

Subcribe

Class aptent taciti sociosqud lito. Subscribe and join our club.

Blogroll
Advertorial

Artikel terbaru