koleksi ilmu-ilmu hikmah,kisah 2 tokoh sufi.teknologi tips n trik dll

Selasa, Mei 14, 2013

database n table

Database dan TabelSQLite menyimpan koleksi tabel dalam database file tunggal, biasanya berakhir dengan. Db. Setiap tabel seperti spreadsheet, terdiri dari sejumlah kolom dan setiap baris memiliki nilai.
Jika membantu, memikirkan setiap baris sebagai struct, dengan kolom dalam tabel sesuai dengan bidang dalam struct.
Sebuah tabel dapat memiliki banyak baris yang akan muat pada disk. Ada batas atas tapi besar 18.446.744.073.709.551.616 nya harus tepat.
Anda dapat membaca batas SQLite di situs web mereka. Sebuah tabel dapat memiliki hingga 2.000 kolom atau jika anda mengkompilasi ulang sumber, Anda dapat max untuk awesome 32.767 kolom.THE SQLite API
Untuk menggunakan SQLite, kita perlu untuk membuat panggilan ke API. Anda dapat menemukan pengenalan API ini pada Pengenalan resmi SQLite C / C + + halaman web Interface. Ini adalah kumpulan fungsi dan mudah digunakan.
Pertama kita perlu pegangan ke database. Ini adalah tipe sqlite3 dan dikembalikan oleh panggilan untuk sqlite3_open (nama file, ** PPDB). Setelah itu kita jalankan SQL.
Mari kita sedikit menyimpang pertama meskipun dan membuat database yang dapat digunakan dan beberapa tabel menggunakan SQLiteSpy. (Lihat tutorial sebelumnya untuk link ke itu dan SQLite Database Browser).Acara dan Raga
Database about.db akan menggelar tiga meja untuk mengelola kegiatan di beberapa tempat. Peristiwa ini akan menjadi pesta, disko dan konser dan akan berlangsung di lima tempat (alpha, beta, charlie, delta dan echo). Ketika Anda pemodelan sesuatu seperti ini, sering kali membantu untuk memulai dengan spreadsheet. Demi kesederhanaan, saya hanya akan menyimpan tanggal tidak waktu.
Spreadsheet memiliki tiga kolom: Tanggal, Venue, Jenis Acara dan sekitar sepuluh peristiwa seperti ini. Tanggal dijalankan dari tanggal 21 sampai 30 Juni 2013.
Sekarang SQLite tidak memiliki eksplisit jenis tanggal, sehingga lebih mudah dan lebih cepat untuk menyimpannya sebagai int dan cara yang sama bahwa Excel menggunakan tanggal (hari sejak Jan 1, 1900) memiliki nilai-nilai int 41.446-41.455. Jika Anda meletakkan tanggal dalam spreadsheet kemudian format kolom tanggal sebagai nomor dengan 0 tempat desimal, itu terlihat seperti ini:Tanggal, Venue, Event Type41.446, Alpha, Partai41.447, Beta, Konser41.448, Charlie, Disco41.449, Delta, Konser41.450, echo, Partai41.451, Alpha, Disco41.452, Alpha, Partai41.453, Beta, Partai41.454, Delta, Konser41.455, Echo, Bagian
Sekarang kita bisa menyimpan data ini dalam satu meja dan untuk suatu contoh sederhana, mungkin akan diterima. Namun praktek desain database yang baik memerlukan beberapa normalisasi.
Data barang-barang unik seperti jenis tempat harus dalam tabel sendiri dan jenis acara (pesta dll) juga harus dalam satu. Akhirnya seperti yang kita dapat memiliki beberapa jenis acara di beberapa tempat, (a banyak hubungan) kita membutuhkan tabel ketiga untuk menampung.
Tiga tabel adalah:

    
tempat - memegang semua lima tempat
    
eventtypes - memegang semua tiga jenis acara
    
Peristiwa - memegang tanggal ditambah tempat id ditambah acara Jenis id. Saya juga menambahkan bidang deskripsi untuk acara ini misalnya "Jim Birthday".
Dua tabel pertama memegang jenis data sehingga tempat memiliki nama alpha echo. Saya telah menambahkan sebuah id integer sebagai baik dan membuat indeks untuk itu. Dengan sejumlah kecil tempat (5) dan jenis acara (3), itu bisa dilakukan tanpa indeks, tetapi dengan tabel yang lebih besar itu akan menjadi sangat lambat. Jadi setiap kolom yang kemungkinan akan dicari, menambahkan indeks, sebaiknya bilangan bulat
SQL untuk membuat ini:membuat tempat tabel (idvenue int,teks venue)
membuat indeks ivenue di tempat (ideventtype)
membuat tabel eventtypes (ideventtype int,Eventtype teks)
membuat indeks ieventtype pada eventtypes (idvenue)
membuat acara tabel (idevent int,tanggal int,ideventtype int,idvenue int,Teks deskripsi)
membuat indeks ievent pada peristiwa (tanggal, idevent, ideventtype, idvenue)
Indeks pada peristiwa meja memiliki tanggal, idevent, jenis acara dan tempat. Itu berarti kita bisa query tabel acara "semua acara kencan", "semua peristiwa di tempat yang", "semua pihak" dll dan kombinasi dari orang-orang seperti "semua pihak di tempat yang" dll
Setelah menjalankan SQL membuat tabel query, tiga tabel dibuat. Catatan Aku telah menempatkan semua yang sql dalam file teks create.sql dan itu termasuk data untuk mengisi beberapa tiga tabel.
Jika Anda menempatkan, di akhir baris seperti yang saya lakukan di create.sql maka Anda dapat batch dan menjalankan semua perintah dalam satu pergi. Tanpa, Anda harus menjalankan masing-masing dengan sendirinya. Dalam SQLiteSpy, klik F9 untuk menjalankan semuanya.
Saya juga termasuk sql untuk menjatuhkan ketiga tabel di dalam komentar multi-line menggunakan / * .. * / Sama seperti di C. Cukup pilih tiga baris dan melakukan ctrl + F9 untuk mengeksekusi teks yang dipilih.
Perintah-perintah ini memasukkan lima tempat:masukkan ke dalam tempat (idvenue, venue) nilai (0, 'Alpha');masukkan ke dalam tempat (idvenue, venue) nilai (1, 'Bravo');masukkan ke dalam tempat (idvenue, venue) nilai (2, 'Charlie');masukkan ke dalam tempat (idvenue, venue) nilai (3, 'Delta');masukkan ke dalam tempat (idvenue, venue) nilai (4, 'Echo');
Sekali lagi saya telah menyertakan tanda komentar teks ke tabel kosong, dengan menghapus dari baris. Ada tidak membatalkan jadi hati-hati dengan ini!
Hebatnya, dengan semua data dimuat (memang tidak banyak) database seluruh file pada disk hanya 7KB.Data acara
Daripada membangun sekelompok sepuluh pernyataan insert, saya menggunakan Excel untuk membuat file csv untuk data acara. Dan kemudian digunakan SQLite3 utilitas baris perintah (yang datang dengan SQLite) dan perintah berikut untuk mengimpor.
Catatan: (.) ​​Setiap sejalan dengan periode prefix adalah perintah. Gunakan. Membantu untuk melihat semua perintah. Untuk menjalankan SQL ketik saja di tanpa awalan periode.Pemisah.,Impor. "C: \ \ data \ \ aboutevents.csv" peristiwapilih * dari peristiwa;
Anda harus menggunakan blackslashes ganda \ \ di jalur impor untuk setiap folder. Hanya melakukan baris terakhir setelah. Impor telah berhasil. Ketika SQLite3 menjalankan pemisah standar adalah: sehingga harus diubah menjadi koma sebelum impor.Kembali ke Kode
Sekarang kita memiliki database penuh diisi, mari kita menulis kode C untuk menjalankan query SQL yang mengembalikan daftar partai, dengan deskripsi, tanggal dan tempat.

    
Baru SQL? Baca Apa itu SQL?
pilih tanggal, deskripsi, tempat dari peristiwa, tempatmana ideventtype = 0dan events.idvenue = venues.idvenue
Hal ini bergabung menggunakan kolom idvenue antara peristiwa dan meja tempat sehingga kami mendapatkan nama tempat yang tidak idvenue nilai int.SQLite C API Fungsi
Ada banyak fungsi tetapi kita hanya perlu segelintir. Urutan pengolahan:

    
Buka Database dengan sqlite3_open (), keluar jika telah kesalahan membukanya.
    
Siapkan SQL dengan sqlite3_prepare ()
    
Lingkaran menggunakan slqite3_step () sampai catatan tidak lebih
    
(Dalam loop) memproses setiap kolom dengan sqlite3_column ...
    
Akhirnya panggilan sqlite3_close (db)

Tidak ada komentar:

Posting Komentar

stroom09@gmail.com

KLINIK CENAYANG STROOM09

KLINIK CENAYANG STROOM09
KLINIK CENAYANG STROOM09

pengunjung

RENTAL MOBIL CIREBON

RENTAL MOBIL CIREBON
RENTAL MOBIL CIREBON,TAXI ONLINE CIREBON,SEWA MOBIL CIREBON MINAT HP/WA :089537731979

Total Tayangan Halaman