Anda perlu memahami cara dasar merekam informasi secara relasional yaitu dalam tabel.
Menemukan tabel yang cukup
Cukup siapkan tabel dasar untuk setiap pernyataan yang Anda butuhkan untuk menggambarkan situasi bisnis:
User(user_id,name,...)
// User [user_id] is named [name]
Contacted(contact_id,item,offer_id)
// user [contact_id] was contacted re item [item] offered by user [offer_id]
...etc...
Parameter pernyataan adalah kolom dari tabel.
Jika Anda ingin berbicara tentang bagian-bagian dari sesuatu yang Anda anggap memiliki banyak bagian (heterogen atau homogen) itu hanya berarti bahwa beberapa pernyataan akan melibatkan sesuatu dan bagian-bagiannya:
table request(request_id,start_date,end_date,...)
// [request_id] goes from [start_date] to [end_date] and ...
table requested(request_id,item_id,person_id,...)
// person [person_id] requested item [item_id] in request [request_id]
Apa yang ada di tabel
Nilai tabel dasar adalah baris yang membuat pernyataannya benar. (Setiap subekspresi kueri juga memiliki pernyataan, dan nilainya adalah baris yang membuat pernyataannya benar.)
Jangan bingung antara pernyataan tabel dengan aturan bisnis. Aturan bisnis menyatakan kebenaran. Tetapi pernyataan tabel adalah pernyataan yang dibuat oleh beberapa tupel menjadi benar (dan masuk ke dalam tabel) atau salah (ditinggalkan dari tabel). Semua pernyataan benar dan salah dari tabel memberi tahu Anda semua yang perlu Anda ketahui tentang bisnis ini. Aturan bisnis tidak akan pernah bertentangan dengan mereka. (Karena mereka selalu benar.)
Mengatur ulang ke tabel yang lebih baik
Kunci adalah kumpulan kolom yang semua kolom lainnya adalah fungsi seperti itu tetapi tidak ada subset yang memiliki properti itu. Sebuah tabel dapat memiliki lebih dari satu kunci.
Untuk membuat database lebih mudah diperbarui dan dikueri, Anda harus memecah pernyataan tertentu yang merupakan pernyataan lain yang digabungkan dengan AND. Pisahkan sampai setiap pernyataan hanya terdiri dari pernyataan tentang kolom-kolom kunci DAN dengan pernyataan-pernyataan dalam bentuk ini:
[my_column]=my_function([key_k_column_1],[key_k_column_2],...)
di mana key_k_column_1,... adalah kolom dari key_n kunci yang sama.
(Tabel tersebut adalah "dalam bentuk normal kelima" dan topiknya adalah "normalisasi".)