Anda di halaman 1dari 19

MATERI 4

ATRIBUT DALAM BASIS DATA


1.1. Pengertian Atribut
Atribut dalam basis data adalah karakteristik individual dari sebuah entitas. Dalam konteks
basis data relasional, atribut sering diartikan sebagai kolom dalam sebuah tabel.
1.2. Karakteristik Atribut
a. Nama Atribut: Setiap atribut harus memiliki nama yang unik.
b. Nilai Atribut: Nilai atribut adalah data yang diisikan untuk suatu atribut pada baris tertentu
dalam tabel.
c. Tipe Data: Atribut memiliki tipe data tertentu, seperti integer, character, date, dll.
d. Domain Atribut: Ini adalah kumpulan nilai-nilai yang diizinkan untuk atribut, misalnya,
'jenis kelamin' bisa memiliki domain 'Laki-Laki' atau 'Perempuan'.
1.3. Jenis-Jenis Atribut
a. Atribut Kunci (Key Attribute): Atribut yang membantu dalam pengidentifikasian unik
baris dalam sebuah tabel. Contoh: Nim.

b. Atribut Sederhana (Simple Attribute): Tidak dapat dibagi lagi menjadi atribut yang lebih
kecil. Contoh: NomorHp.
c. Atribut Komposit (Composite Attribute): Dapat dibagi menjadi beberapa atribut
sederhana. Contoh: NamaLengkap bisa dibagi menjadi NamaDepan dan NamaBelakang.
d. Atribut Multi-Value (Multi-Valued Attribute): Dapat memiliki lebih dari satu nilai untuk
satu entitas. Contoh: Hoby yang memungkinkan mahasiswa memiliki lebih dari satu
Hoby.

e. Atribut Turunan (Derived Attribute): Nilainya berasal dari atribut lain. Contoh: Usia yang
bisa diturunkan dari TanggalLahir.
1.4. Contoh Atribut dalam Basis Data
Misalkan kita memiliki tabel Mahasiswa dengan atribut-atribut berikut:
a. NIM (Nomor Induk Mahasiswa) - Atribut Kunci
b. NamaDepan dan NamaBelakang - Atribut Komposit dari NamaLengkap
c. TanggalLahir - Atribut Sederhana
d. Usia - Atribut Turunan dari TanggalLahir
e. AlamatEmail - Atribut Multi-Value (seorang mahasiswa bisa memiliki lebih dari satu
alamat email)
1.5. Pentingnya Atribut
Atribut sangat penting dalam desain basis data karena:
a. Membantu dalam mendefinisikan struktur dari data.
b. Mempermudah query, pencarian, dan analisis data.
c. Memberikan batasan dan integritas data melalui domain dan tipe data.
1.6. Tipe data
Apa Itu Tipe Data?
Tipe data dalam SQL Server menentukan jenis data apa yang bisa disimpan dalam kolom
tertentu dalam sebuah tabel. Memilih tipe data yang tepat esensial untuk mendapatkan
performa optimal dan penyimpanan yang efisien.
Tipe Data Utama dalam SQL Server
a. Tipe Data Numerik
Tipe data numerik dalam SQL Server (dan kebanyakan sistem manajemen basis data
relasional) digunakan untuk menyimpan angka, yang bisa berupa bilangan bulat atau
bilangan dengan koma desimal (floating-point atau fixed-point). Berikut adalah jenis dan
fungsi dari tipe data numerik yang umumnya ditemui:
No Jenis Tipe Data Fungsi Panjang Data
Tipe Data Angka Bulat (Integer Types)
1 INT • Fungsi: Menyimpan 4 byte (-2,147,483,648
angka bulat dengan hingga 2,147,483,647).
rentang standar.
• Contoh Penggunaan:
Menyimpan jumlah
No Jenis Tipe Data Fungsi Panjang Data
pengguna terdaftar pada
sebuah aplikasi.
2 SMALLINT • Fungsi: Menyimpan 2 byte (-32,768 hingga
angka bulat dengan 32,767).
rentang yang lebih luas
dari TINYINT.
• Contoh Penggunaan:
Menyimpan skor pada
game yang tidak
melebihi beberapa ribu..
3 TINYINT • Fungsi: Menyimpan 1 byte (0 hingga 255).
angka bulat kecil.
• Contoh Penggunaan:
Menyimpan jumlah
anak dalam sebuah
keluarga.
4 BIGINT • Fungsi: Menyimpan 8 byte (-
angka bulat sangat 9,223,372,036,854,775,808
besar. hingga
• Contoh Penggunaan: 9,223,372,036,854,775,807).
Menyimpan jumlah
view pada video
YouTube yang bisa
sangat besar..
5 BIT • Fungsi: Menyimpan 1 Bit
nilai boolean.
• Contoh Penggunaan:
Menyimpan status
aktif/non-aktif, di mana
No Jenis Tipe Data Fungsi Panjang Data
1 berarti aktif dan 0
berarti non-aktif.
Desimal
5 DECIMAL atau • Fungsi: Menyimpan 5-17 byte, tergantung pada
NUMERIC angka dengan presisi presisi yang ditentukan
tetap. (maksimum 38 digit).
• Contoh Penggunaan:
Menyimpan data
keuangan yang
membutuhkan dua
desimal..
6 MONEY • Fungsi: Menyimpan 8 byte (-
nilai uang dengan 922,337,203,685,477.5808
empat angka setelah hingga
desimal. 922,337,203,685,477.5807).
• Contoh Penggunaan:
Menyimpan harga
produk dalam database
e-commerce..
7 SMALLMONEY • Fungsi: Menyimpan 4 byte (-214,748.3648
nilai uang yang lebih hingga 214,748.3647).
kecil.
• Contoh Penggunaan:
Menyimpan biaya
transaksi atau tips.
Tipe Data Pecahan (Floating Point)
8 FLOAT • Fungsi: Menyimpan 4 atau 8 byte, tergantung
angka pecahan dengan pada presisi (dari 1,5 x 10^-
presisi ganda. 45 hingga 3,4 x 10^38).
No Jenis Tipe Data Fungsi Panjang Data
• Contoh Penggunaan:
Menyimpan hasil
pengukuran ilmiah
yang membutuhkan
presisi tinggi.
9 REAL • Fungsi: Menyimpan 4 byte (dari 1,18 x 10^-38
angka pecahan dengan hingga 3,4 x 10^38).
presisi tunggal.
• Contoh Penggunaan:
Menyimpan data
sensor yang
membutuhkan rentang
nilai luas tetapi presisi
lebih rendah
Khusus
10 UNIQUEIDENTIFIER • Menyimpan Global 16 byte
Unique Identifier
(GUID).
• Contoh: Sistem yang
perlu terintegrasi
dengan aplikasi
eksternal, seperti
aplikasi mobile atau
web services, sering
menggunakan
UNIQUEIDENTIFIER
karena bisa dengan
mudah dibagi antar
sistem tanpa
No Jenis Tipe Data Fungsi Panjang Data
memerlukan logika
mapping tambahan.
Note :
a. Presisi untuk DECIMAL dan NUMERIC menentukan jumlah total digit yang bisa
disimpan, sedangkan skala menentukan jumlah digit yang bisa disimpan setelah
desimal.
b. FLOAT dan REAL adalah tipe data IEEE yang mendukung angka sangat besar atau
sangat kecil dengan menggunakan floating point. FLOAT memungkinkan presisi
antara 1 dan 53, sedangkan REAL secara efektif adalah FLOAT(24).
c. Pemilihan antara FLOAT dan DECIMAL biasanya tergantung pada kebutuhan presisi
dan kinerja. DECIMAL lebih tepat untuk penyimpanan nilai dengan presisi yang
sangat spesifik seperti uang, sedangkan FLOAT cocok untuk perhitungan ilmiah.
d. MONEY dan SMALLMONEY biasanya digunakan untuk data keuangan, namun
beberapa pengembang lebih memilih menggunakan DECIMAL karena isu presisi dan
pembulatan.
b. Tipe Data Tanggal/Waktu
Dalam SQL Server, tipe data tanggal dan waktu digunakan untuk menyimpan informasi
yang berkaitan dengan tanggal, waktu, atau kedua-duanya. Berikut adalah jenis, fungsi,
dan panjang data dari tipe-tipe data tanggal/waktu yang tersedia:
No Jenis Tipe Data Fungsi Panjang Data
1 DATE • Fungsi: Menyimpan Panjang Data: 3 byte.
tanggal dalam format Rentang: 0001-01-01
YYYY-MM-DD. hingga 9999-12-31.
• Contoh: Menyimpan
tanggal lahir
pengguna.
2 TIME • Fungsi: Menyimpan Panjang Data: 3
waktu hari dalam hingga 5 byte,
format tergantung pada
hh:mm:ss[.nnnnnnn], presisi fraksi detik.
No Jenis Tipe Data Fungsi Panjang Data
dimana .nnnnnnn Rentang:
adalah fraksi detik. 00:00:00.0000000
• Contoh: Menyimpan hingga
waktu dimulainya 23:59:59.9999999.
suatu acara.
3 DATETIME • Fungsi: Menyimpan Panjang Data: 8 byte.
tanggal dan waktu. Rentang: 1753-01-01
• Contoh: Menyimpan 00:00:00 hingga
cap waktu 9999-12-31
(timestamp) ketika 23:59:59.997.
transaksi dilakukan.
4 DATETIME2 • Fungsi: Seperti Panjang Data: 6
DATETIME tetapi hingga 8 byte,
dengan presisi yang tergantung pada
lebih besar dan presisi fraksi detik.
rentang tanggal yang Rentang: 0001-01-01
lebih luas. 00:00:00 hingga
• Contoh: Menyimpan 9999-12-31
cap waktu penciptaan 23:59:59.9999999.
file dengan presisi
tinggi.
5 SMALLDATETIME • Fungsi: Menyimpan Panjang Data: 4 byte.
informasi tanggal dan Rentang: 1900-01-01
waktu dengan presisi 00:00 hingga 2079-
menit. 06-06 23:59.
• Contoh: Menyimpan
tanggal dan waktu
perubahan terakhir
pada suatu dokumen.
No Jenis Tipe Data Fungsi Panjang Data
6 DATETIMEOFFSET • Fungsi: Seperti Panjang Data: 8
DATETIME2 dengan hingga 10 byte,
tambahan informasi tergantung pada
zona waktu. presisi fraksi detik.
• Contoh: Menyimpan Rentang: 0001-01-01
waktu terjadinya 00:00:00 hingga
suatu event dalam 9999-12-31
aplikasi yang 23:59:59.9999999
digunakan di (+/-14 jam dari UTC).
beberapa zona waktu.
7 TIMESTAMP/ROWVERSION • Fungsi: Secara Panjang Data: 8 byte.
otomatis Rentang: Unik dalam
menghasilkan nomor database, bukan
unik ketika ada baris dalam rentang waktu.
yang ditambahkan
atau diperbarui dalam
tabel. Meski namanya
TIMESTAMP, SQL
Server tidak
menggunakan tipe
data ini untuk
menyimpan informasi
waktu. Sebenarnya,
penggunaan nya
sendiri lebih seperti
counter dan tidak
terkait dengan waktu
sebenarnya.
• Contoh Penggunaan:
Digunakan untuk
No Jenis Tipe Data Fungsi Panjang Data
versioning row di
dalam tabel.
Note :
a. TIMESTAMP pada SQL Server tidak menyimpan nilai waktu atau tanggal dan sering
kali membingungkan karena namanya. SQL Server versi terbaru mengganti nama
TIMESTAMP menjadi ROWVERSION untuk menghindari kebingungan.
b. DATETIME2 adalah yang paling direkomendasikan untuk digunakan karena
kombinasi dari ukuran penyimpanan, presisi, dan rentang yang luas.
c. DATETIMEOFFSET sangat berguna untuk aplikasi yang sensitif terhadap zona waktu
dan dimana informasi tentang perbedaan waktu lokal terhadap UTC diperlukan.
d. Saat merancang basis data, pertimbangkan presisi dan rentang waktu yang diperlukan
untuk memilih tipe data yang sesuai. Juga pertimbangkan ukuran penyimpanan karena
ini akan mempengaruhi performa dan ukuran database.
c. Tipe Data Karakter
Dalam SQL Server, tipe data karakter digunakan untuk menyimpan data dalam bentuk
teks. Ada beberapa jenis tipe data karakter, masing-masing dengan fungsi dan panjang
data yang berbeda:
No Jenis Tipe Data Fungsi Panjang Data
1 CHAR • Fungsi: Menyimpan 1 sampai 8.000
karakter non-Unicode karakter. Panjang
dengan panjang tetap. Jika tetap.
panjang teks yang disimpan
lebih pendek dari panjang
yang ditentukan, ruang
tambahan akan diisi dengan
spasi.
• Contoh Penggunaan:
Menyimpan kode pos atau
kode negara yang memiliki
No Jenis Tipe Data Fungsi Panjang Data
jumlah karakter yang
konstan.
2 VARCHAR • Fungsi: Menyimpan 1 sampai 8.000
karakter non-Unicode karakter. Panjang
dengan panjang variabel. variabel.
Hanya menggunakan ruang
penyimpanan yang
diperlukan untuk teks yang
disimpan ditambah 2 byte
untuk menyimpan ukuran
data.
• Contoh Penggunaan:
Menyimpan nama atau
alamat email di mana
panjang teksnya bisa
bervariasi.
3 TEXT • Fungsi: Menyimpan non- Sampai 2^31-1
Unicode data besar seperti karakter (sekitar
teks. Tipe data ini tidak 2GB).
disarankan untuk digunakan
karena telah ditinggalkan
dalam versi terbaru SQL
Server. Gantikan dengan
VARCHAR(MAX).
• Contoh Penggunaan:
Secara historis digunakan
untuk teks panjang seperti
isi artikel atau komentar
pengguna.
No Jenis Tipe Data Fungsi Panjang Data
4 NCHAR • Fungsi: Menyimpan 1 sampai 4.000
karakter Unicode dengan karakter. Panjang
panjang tetap. Sama seperti tetap.
CHAR tetapi untuk data
Unicode. Juga akan diisi
dengan spasi jika teks yang
disimpan lebih pendek.
• Contoh Penggunaan:
Menyimpan data yang
mungkin berisi karakter
dari banyak bahasa, seperti
nama internasional.
5 NVARCHAR • Fungsi: Menyimpan 1 sampai 4.000
karakter Unicode dengan karakter. Panjang
panjang variabel. Sama variabel. Untuk teks
seperti VARCHAR tetapi yang lebih panjang,
untuk data Unicode. gunakan
• Contoh Penggunaan: NVARCHAR(MAX).
Menyimpan teks atau
komentar yang
memerlukan dukungan
internasional.
6 NTEXT • Fungsi: Menyimpan data Sampai 2^30-1
Unicode besar. Tidak karakter (sekitar
disarankan untuk 1GB).
digunakan dan lebih baik
diganti dengan
NVARCHAR(MAX).
No Jenis Tipe Data Fungsi Panjang Data
• Contoh Penggunaan:
Secara historis digunakan
untuk teks panjang dalam
berbagai bahasa.
7 VARCHAR(MAX) • Fungsi: Menyimpan non- Sampai 2^31-1 byte
dan Unicode untuk
NVARCHAR(MAX) (VARCHAR(MAX)) atau VARCHAR(MAX)
Unicode dan 2^30-1 byte untuk
(NVARCHAR(MAX)) data NVARCHAR(MAX).
dengan panjang sangat
variabel. Ini digunakan
untuk menyimpan data teks
yang sangat besar.
• Contoh Penggunaan:
Menyimpan dokumen, log
panjang, atau data XML.
Note :
a. CHAR dan NCHAR lebih efisien untuk penyimpanan data yang panjangnya selalu
konstan karena SQL Server bisa mengalokasikan ruang dengan lebih efisien.
b. VARCHAR dan NVARCHAR lebih baik digunakan untuk data yang panjangnya
bervariasi, karena menghemat ruang penyimpanan.
c. NCHAR dan NVARCHAR menggunakan dua kali lebih banyak ruang daripada
CHAR dan VARCHAR karena mendukung Unicode.
d. TEXT dan NTEXT telah ditinggalkan dalam SQL Server terbaru, sehingga disarankan
untuk menggunakan VARCHAR(MAX) dan NVARCHAR(MAX) sebagai gantinya.
e. Selalu pertimbangkan ukuran maksimum data yang akan disimpan saat menentukan
panjang kolom untuk menghindari pemborosan ruang atau potongan data.
d. Tipe Data Biner
Dalam SQL Server, tipe data biner digunakan untuk menyimpan data yang diwakili dalam
format biner. Data ini biasanya file yang dienkripsi, gambar, file audio, atau dokumen
yang tidak perlu dilakukan operasi karakter terhadapnya. Berikut adalah jenis, fungsi, dan
panjang data untuk tipe data biner:
No Jenis Tipe Data Fungsi Panjang Data
1 BINARY • Fungsi: Menyimpan data 1 sampai 8.000 byte.
biner dengan panjang tetap. Panjang tetap.
Data yang disimpan akan
selalu menggunakan jumlah
ruang yang ditentukan, dan
ruang yang tidak terpakai
akan diisi dengan byte nol
• Contoh Penggunaan:
Menyimpan sidik jari digital
atau hash yang memiliki
ukuran tetap.
2 VARBINARY • Fungsi: Menyimpan data 1 sampai 8.000 byte.
biner dengan panjang Panjang variabel.
variabel. Ini hanya
menggunakan ruang yang
diperlukan untuk
menyimpan data biner yang
dimasukkan ditambah 2 byte
untuk penyimpanan panjang
data
• Contoh Penggunaan:
Menyimpan file yang
ukurannya dapat bervariasi,
seperti gambar thumbnail.
3 VARBINARY(MAX) • Fungsi: Menyimpan data Maksimum sekitar
biner dalam jumlah yang 2^31-1 byte (2 GB).
sangat besar, hingga sekitar
No Jenis Tipe Data Fungsi Panjang Data
2 GB. Sangat cocok untuk
menyimpan file, dokumen,
atau data yang berukuran
sangat besar dan formatnya
biner.
• Contoh Penggunaan:
Menyimpan gambar, video,
atau dokumen besar yang
harus disimpan dalam
database.
4 IMAGE • Fungsi: Historis digunakan Sampai 2^31-1 byte
untuk menyimpan gambar (2 GB).
dan data biner besar. Tipe
data ini tidak disarankan
untuk digunakan dalam
versi terbaru SQL Server
dan harus digantikan dengan
VARBINARY(MAX).
• Contoh Penggunaan:
Digunakan untuk
menyimpan gambar.
Note:
a. Tipe data BINARY dan VARBINARY sangat berguna ketika Anda perlu menyimpan
data yang tidak terwakili dengan baik oleh tipe data karakter, seperti file atau output
dari fungsi hash.
b. Pilihan antara BINARY dan VARBINARY harus didasarkan pada apakah ukuran data
yang Anda simpan akan konsisten atau variabel. Gunakan BINARY untuk ukuran
yang konsisten dan VARBINARY untuk ukuran yang variabel.
c. VARBINARY(MAX) memberikan fleksibilitas untuk menyimpan file yang
ukurannya bisa sangat besar, menjadikannya pilihan yang baik untuk penyimpanan
file dalam database.
d. IMAGE merupakan tipe data lama dan tidak seharusnya digunakan dalam desain
database baru. VARBINARY(MAX) adalah alternatif yang lebih baik dan lebih
fleksibel.
e. Menyimpan data biner dalam database bisa meningkatkan ukuran database secara
signifikan dan mungkin berdampak pada performa. Alternatif lain adalah menyimpan
data dalam sistem file dan hanya menyimpan path file di dalam database.

e. Tipe Data Khusus


SQL Server menyediakan beberapa tipe data khusus yang dirancang untuk tujuan tertentu.
Berikut ini adalah jenis, fungsi, dan panjang data untuk beberapa tipe data khusus yang
umum digunakan dalam SQL Server:
No Jenis Tipe Data Fungsi Panjang Data
1 SQL_VARIANT • Fungsi: Menyimpan nilai Sampai 8016 byte,
dari berbagai tipe data SQL bergantung pada tipe
Server kecuali text, ntext, data yang sebenarnya
image, timestamp, any dari nilai yang
geospatial type, atau any disimpan.
max type seperti
varchar(max).
• Contoh Penggunaan:
Menyimpan data yang tipe
datanya dapat berubah atau
tidak diketahui pada saat
desain database.
2 XML • Fungsi: Menyimpan data Sampai 2 GB
dalam format XML. karakter teks.
Mendukung fitur seperti
No Jenis Tipe Data Fungsi Panjang Data
pengecekan skema dan
indeksasi.
• Contoh Penggunaan:
Menyimpan dokumen XML
atau data yang dikonfigurasi
sebagai XML.
3 TABLE • Fungsi: Menyimpan hasil Tergantung pada
sementara untuk diproses jumlah dan tipe data
lebih lanjut. Tipe data ini dari kolom yang
digunakan dalam variabel didefinisikan di
tabel atau tabel sementara. dalam tabel.
• Contoh Penggunaan:
Digunakan dalam prosedur
tersimpan atau batch SQL
untuk menyimpan kumpulan
data sementara.
4 GEOMETRY • Fungsi: Menyimpan data Secara teknis bisa
spasial untuk objek sampai 2^31-1 byte
Euclidean (datar). (2 GB), tetapi
• Contoh Penggunaan: praktisnya tergantung
Menyimpan data titik, garis, pada kompleksitas
dan poligon untuk sistem objek spasial.
informasi geografis (GIS).
5 GEOGRAPHY • Fungsi: Menyimpan data Secara teknis bisa
spasial yang mewakili objek sampai 2^31-1 byte
di bumi (misalnya, titik dan (2 GB), tetapi
bentuk berdasarkan praktisnya tergantung
longitude dan latitude). pada kompleksitas
objek spasial.
No Jenis Tipe Data Fungsi Panjang Data
• Contoh Penggunaan:
Menyimpan lokasi geografis
dalam aplikasi yang
membutuhkan referensi
lokasi di bumi.
6 HIERARCHYID • Fungsi: Menyimpan data Variabel, umumnya
yang merepresentasikan sekitar 892 byte,
posisi dalam hierarki. tergantung pada
• Contoh Penggunaan: kedalaman dan posisi
Menyimpan struktur dalam hierarki.
organisasi atau struktur
kategori produk.
Note:
a. SQL_VARIANT dapat menyimpan berbagai tipe data tetapi tidak dapat digunakan
dalam semua jenis operasi SQL, seperti GROUP BY.
b. Tipe data XML memungkinkan penyimpanan dan pengolahan data terstruktur dalam
format XML secara native.
c. Variabel bertipe TABLE adalah struktur data yang sangat berguna dalam menyimpan
dan memanipulasi kumpulan baris sementara selama eksekusi batch atau prosedur
tersimpan.
d. Tipe data GEOMETRY dan GEOGRAPHY adalah bagian dari fitur SQL Server
Spatial, yang memberikan kemampuan untuk menjalankan query spasial pada data.
e. HIERARCHYID adalah tipe data yang sangat spesifik yang memberikan cara untuk
merepresentasikan dan query data hierarki seperti struktur pohon.

Anda mungkin juga menyukai