Resume 8
mata kuliah SQL Stikom Surabaya
The CREATE DATABASE Pernyataan
Langkah pertama manajemen data dalam
database setiap proyek adalah untuk menciptakan database. Tugas ini
dapat berkisar dari SD ke rumit, tergantung pada kebutuhan dan sistem
manajemen database yang telah Anda pilih. Banyak sistem modern (termasuk
Personal Oracle7) berikut perangkat grafis yang memungkinkan Anda untuk
benar-benar membangun database dengan mengklik tombol mouse. Fitur ini
menghemat waktu tentu saja bermanfaat, namun Anda harus memahami
pernyataan SQL yang dijalankan untuk menanggapi klik mouse.
Melalui pengalaman pribadi, kita telah
belajar pentingnya menciptakan baik SQL menginstal script. File ini
berisi script kode SQL yang dibutuhkan untuk benar-benar membangun
kembali basis data atau database; script sering kali berisi objek
database seperti indeks, disimpan prosedur, dan pemicu. Anda akan
melihat nilai dari script ini selama perkembangan sebagai Anda
terus-menerus melakukan perubahan pada database dan pada kesempatan
ingin sekali membangun kembali database dengan semua perubahan terbaru.
Dengan menggunakan alat grafis setiap kali Anda perlu melakukan kembali
dapat menjadi sangat waktu memakan. Selain itu, mengetahui sintaks SQL
untuk prosedur ini memungkinkan Anda untuk menerapkan pengetahuan Anda
ke sistem database lain.
Sintaks untuk pernyataan CREATE DATABASE khas terlihat seperti ini:
Sintaks:
CREATE DATABASE database_name
Karena sintaks bervariasi secara luas dari sistem ke sistem, kita tidak akan memperluas pada pernyataan CREATE DATABASE sintaks. Banyak sistem bahkan tidak mendukung perintah SQL CREATE DATABASE.
Namun, semua yang populer, lebih kuat, manajemen basis data relasional
sistem (RDBMSs) melakukan memberikan itu. Alih-alih berfokus pada
sintaks, kami akan meluangkan waktu mendiskusikan pilihan yang perlu
dipertimbangkan ketika membuat database.
CREATE DATABASE Pilihan
Sintaks untuk pernyataan CREATE DATABASE dapat sangat bervariasi. Banyak SQL teks melompat menyangkut pernyataan CREATE DATABASE dan bergerak langsung ke pernyataan CREATE TABLE.
Karena Anda harus membuat database sebelum Anda dapat membangun sebuah
meja, bagian ini berfokus pada beberapa konsep pengembang harus
dipertimbangkan ketika membangun database. Pertimbangan pertama adalah
tingkat izin. Jika Anda menggunakan sistem manajemen database relasional
(RDBMS) yang mendukung akses user tersebut, Anda harus yakin bahwa baik
Anda memiliki izin pengaturan tingkat administrator sistem atau
administrator sistem telah memberikan izin CREATE DATABASE. Lihat dokumentasi RDBMS Anda untuk informasi lebih lanjut .
Kebanyakan RDBMSs juga memungkinkan Anda
untuk menentukan ukuran database default, biasanya dalam hal ruang hard
disk (seperti megabyte). Anda perlu memahami bagaimana sistem database
toko dan menempatkan data pada disk untuk memperkirakan secara akurat
ukuran yang Anda butuhkan. Tanggung jawab untuk mengelola ruang ini
jatuh terutama untuk administrator sistem, dan mungkin di lokasi
database administrator akan membangun database test .
Jangan biarkan pernyataan CREATE DATABASE mengintimidasi Anda. Pada sederhana, Anda dapat membuat database bernama PEMBAYARAN dengan pernyataan berikut:
Sintaks:
SQL> CREATE DATABASE PEMBAYARAN;
CATATAN: Sekali lagi, pastikan untuk berkonsultasi sistem manajemen database dokumentasi Anda untuk mempelajari spesifik database bangunan, sebagai pernyataan CREATE DATABASE dapat dan memang bervariasi untuk implementasi yang berbeda. Pelaksanaan Masing-masing juga memiliki beberapa pilihan yang unik.
Desain Database
Merancang database dengan benar sangat
penting bagi keberhasilan aplikasi Anda,. Pengantar Materi pada Hari 1
“Pengantar SQL,” menyentuh pada topik teori database relasional dan
normalisasi database.
Normalisasi adalah proses
memecah data Anda menjadi komponen-komponen terpisah untuk mengurangi
pengulangan data. Setiap tingkat normalisasi mengurangi pengulangan
data. Normalisasi data Anda bisa menjadi proses yang sangat kompleks,
dan berbagai alat desain database memungkinkan Anda untuk merencanakan
proses ini dengan cara yang logis.
Banyak faktor yang dapat mempengaruhi desain database Anda, termasuk yang berikut:
- Keamanan
- Tersedia ruang disk
- Kecepatan pencarian database dan pengambilan
- Kecepatan pembaruan basis data
- Kecepatan beberapa-meja bergabung untuk mengambil data
- RDBMS dukungan untuk tabel sementara
ruang disk selalu merupakan faktor
penting. Meskipun Anda mungkin tidak berpikir bahwa ruang disk merupakan
masalah besar dalam usia penyimpanan multigigabyte, ingat bahwa semakin
besar database Anda, semakin lama waktu yang dibutuhkan untuk mengambil
catatan. Jika Anda telah melakukan pekerjaan yang buruk merancang
struktur tabel Anda, kemungkinan besar Anda telah sia-sia mengulangi
sebagian besar data Anda.
Seringkali masalah dapat terjadi
sebaliknya. Anda mungkin telah berusaha untuk sepenuhnya menormalkan
‘tabel desain Anda dengan database dan dalam melakukan banyak tabel
diciptakan begitu. Meskipun Anda mungkin telah mendekati nirwana-desain
database, operasi dilakukan terhadap setiap query database ini akan
memakan waktu yang sangat lama untuk mengeksekusi.Database dirancang
dengan cara ini terkadang sulit untuk mempertahankan karena struktur
tabel mungkin mengaburkan maksud desainer. Masalah ini menggarisbawahi
pentingnya selalu mendokumentasikan kode Anda atau desain sehingga orang
lain dapat masuk setelah Anda (atau bekerja dengan anda) dan memiliki
beberapa ide tentang apa yang Anda pikirkan pada saat Anda membuat
struktur database Anda. Dalam desainer segi database, dokumentasi ini
dikenal sebagai kamus data.
Membuat Kamus Data
Sebuah kamus data database desainer paling penting membentuk dokumentasi. Itu melaksanakan fungsi-fungsi berikut:
- Menjelaskan tujuan database dan yang akan menggunakannya.
- Dokumen yang spesifik di belakang database itu sendiri: apa perangkat itu dibuat pada,’s default ukuran database, atau ukuran file log (digunakan untuk menyimpan database informasi beroperasi di sekitar RDBMSs).
- SQL Berisi kode sumber untuk setiap database menginstal atau menghapus script, termasuk dokumentasi mengenai penggunaan alat-alat ekspor impor /, seperti yang diperkenalkan kemarin (Day 8).
- Memberikan penjelasan rinci tentang setiap tabel dalam database dan menjelaskan tujuan dalam proses terminologi bisnis.
- Dokumen struktur internal setiap tabel, termasuk semua kolom dan jenis data mereka dengan komentar, semua indeks, dan semua pandangan. (Lihat Hari ke-10, “Tampilan Membuat dan Indeks.”)
- SQL Berisi kode sumber untuk semua prosedur disimpan dan pemicu.
- Menjelaskan kendala database seperti penggunaan nilai-nilai yang unik atau nilai-nilai NULL TIDAK. Dokumentasi juga harus menyebutkan apakah kendala-kendala yang diterapkan pada tingkat RDBMS atau apakah programmer database diharapkan untuk memeriksa hambatan-hambatan dalam kode sumber.
Banyak dibantu-komputer rekayasa
perangkat lunak (CASE) alat bantuan perancang database dalam penciptaan
ini kamus data. Sebagai contoh, Microsoft Access datang dikemas dengan
database yang mendokumentasikan alat yang print penjelasan rinci dari
setiap objek dalam database. Lihat Hari 17, “Menggunakan SQL untuk
Menghasilkan SQL Laporan,” untuk rincian lebih lanjut tentang data
kamus.
CATATAN: Sebagian besar paket RDBMS besar datang dengan baik data DIC-tionary diinstal atau script untuk menginstalnya.
Membuat Kunci Fields
Seiring dengan mendokumentasikan desain
database, desain tujuan paling penting yang harus Anda miliki adalah
untuk menciptakan struktur tabel anda sehingga setiap tabel memiliki
kunci primer dan kunci asing. Kunci utama harus memenuhi tujuan berikut:
- Setiap catatan unik dalam tabel (ada catatan lain dalam tabel memiliki semua kolom yang sama dengan yang lain).
- Sebagai catatan yang harus unik, semua kolom yang diperlukan, yaitu data dalam satu kolom tidak harus diulang di tempat lain dalam tabel.
Mengenai gol kedua, kolom yang unik data lengkap seluruh meja dikenal sebagai bidang primary key. Bidang kunci asing adalah bidang yang menghubungkan satu meja ke meja utama atau kunci asing lain. Contoh berikut akan memperjelas situasi ini.
Asumsikan Anda memiliki tiga tabel: BILLS, BANK_ACCOUNTS, dan PERUSAHAAN 9.1. Tabel menunjukkan format ketiga tabel.
Tabel 9.1. Tabel struktur database PEMBAYARAN.
Uang kertas | Bank_Accounts | Perusahaan |
NAMA, CHAR (30) | Account_id, NOMOR | NAMA, CHAR (30) |
JUMLAH, NOMOR | JENIS, CHAR (30) | ALAMAT, CHAR (50) |
Account_id, NOMOR | NERACA, NOMOR | KOTA, CHAR (20) |
BANK, CHAR (30) | NEGARA, CHAR (2) |
Luangkan waktu sejenak untuk memeriksa tabel ini. Bidang yang menurut Anda adalah kunci utama? Yang merupakan kunci asing?
Kunci utama dalam tabel BILLS adalah bidang NAMA.
Bidang ini tidak boleh ditiru karena kamu hanya memiliki satu tagihan
dengan jumlah ini. (Pada kenyataannya, Anda mungkin akan memiliki nomor
cek atau tanggal untuk membuat catatan ini benar-benar unik, tapi untuk
saat ini menganggap bahwa bekerja bidang NAME.) Bidang account_id dalam tabel BANK_ACCOUNTS adalah kunci utama untuk meja itu. Bidang NAMA adalah kunci utama untuk tabel PERUSAHAAN.
Kunci asing dalam contoh ini mungkin mudah untuk spot. Bidang account_id pada tabel BILLS BILLS bergabung meja dengan tabel BANK_ACCOUNTS. Bidang NAMA pada tabel BILLS BILLSbergabung meja dengan tabel PERUSAHAAN. Jika ini adalah desain database matang penuh, Anda akan memiliki tabel lebih banyak dan kerusakan data. Misalnya, bidang BANK dalam tabelBANK_ACCOUNTS bisa menunjuk ke sebuah meja BANK berisi informasi bank seperti alamat dan nomor telepon. Tabel PERUSAHAAN dapat dikaitkan dengan tabel lain (atau database untuk hal ini) yang berisi informasi tentang perusahaan dan produk-produknya.
The CREATE TABLE Pernyataan
Proses membuat tabel jauh lebih standar daripada pernyataan CREATE DATABASE. Berikut sintaks dasar untuk pernyataan CREATE TABLE:
Sintaks:
CREATE TABLE table_name (Field1 [datatype NOT NULL], field2 [datatype NOT NULL], field3 [datatype NOT NULL ]...)
Sebuah contoh sederhana dari pernyataan berikut CREATE TABLE.
INPUT / OUTPUT:
SQL> CREATE TABLE BILLS ( 2 NAME CHAR (30), 3 JUMLAH NOMOR, 4 account_id NUMBER); Tabel dibuat.
ANALISIS:
Pernyataan ini membuat sebuah tabel bernama BILLS. Dalam tabel BILLS tiga bidang: NAMA, JUMLAH, dan account_id. Bidang NAME memiliki tipe data karakter dan string dapat menyimpan hingga 30 karakter. The JUMLAH dan bidang account_id dapat berisi nilai angka saja.
Bagian berikut membahas komponen dari perintah CREATE TABLE.
Tabel Nama
Ketika membuat tabel menggunakan Pribadi
Oracle7, beberapa kendala berlaku ketika penamaan meja. Pertama, nama
tabel boleh ada lebih dari 30 karakter. Oracle Karena peka terhadap
huruf, Anda dapat menggunakan salah satu huruf besar atau huruf kecil
untuk karakter individu. Namun, karakter pertama dari nama harus surat
antara A dan Z. Karakter tersisa bisa huruf atau _simbol, #, $, dan @.
Tentu saja, nama tabel harus unik dalam skema tersebut. Nama juga tidak
dapat menjadi salah satu Oracle atau SQL dilindungi kata-kata (seperti SELECT).
CATATAN: Anda dapat memiliki duplikat nama tabel sebagai panjang sebagai pemilik atau skema berbeda. Nama tabel dalam skema yang sama harus unik.
Field Nama
Kendala-kendala yang sama yang berlaku
untuk nama tabel juga berlaku untuk nama field basis data. Namun,
lapangan nama dapat ditiru di dalam. pembatasan adalah bahwa nama field
harus unik dalam tabel tersebut. Sebagai contoh, asumsikan bahwa Anda
memiliki dua tabel dalam database Anda: TABLE1 dan TABLE2. Kedua tabel ini bisa memiliki bidang yang disebut ID. Anda tidak bisa, bagaimanapun, memiliki dua bidang dalam TABLE1 disebut ID, bahkan jika mereka adalah jenis data yang berbeda.
Field Tipe Data
Jika Anda pernah diprogram dalam bahasa
apapun, Anda akrab dengan konsep tipe data, atau jenis data yang akan
disimpan dalam suatu bidang tertentu. Misalnya, tipe data karakter
merupakan sebuah bidang yang menyimpan data string karakter saja. Tabel
9.2 menunjukkan jenis data yang didukung oleh Personal Oracle7.
Tabel 9.2. jenis data yang didukung oleh Personal Oracle7.
Jenis Data | Komentar |
CHAR | Data alfanumerik dengan panjang antara 1 dan 255 karakter. Spasi melangkah ke kanan nilai untuk melengkapi dialokasikan panjang total kolom. |
DATE | Termasuk sebagai bagian dari tanggal adalah abad, tahun, bulan, hari, jam, menit, dan detik. |
PANJANG | Variabel string alfanumerik-panjang sampai 2 gigabyte. (Lihat catatan berikut.) |
PANJANG RAW | Binary data hingga 2 gigabyte. (Lihat catatan berikut.) |
NOMOR | Angka 0, positif atau negatif tetap atau floating-point data. |
RAW | Binary data sampai dengan 255 byte. |
ROWID | String heksadesimal mewakili alamat unik sebuah baris dalam tabel. (Lihat catatan berikut.) |
VARCHAR2 | data alfanumerik yang panjang variabel; field ini harus antara 1 dan 2.000 karakter. |
CATATAN: Tipe data PANJANG sering disebut tipe data MEMO dalam sistem manajemen basis data lainnya. Hal ini terutama digunakan untuk menyimpan sejumlah besar teks untuk pencarian pada beberapa waktu kemudian.Jenis data RAW PANJANG sering disebut sebuah objek besar biner (BLOB) dalam sistem manajemen basis data lainnya. Hal ini biasanya digunakan untuk menyimpan grafik, suara, atau data video. Meskipun sistem manajemen database relasional tidak awalnya dirancang untuk melayani jenis data, saat ini banyak sistem multimedia menyimpan data mereka diRAW PANJANG, atau blob, ladang. Jenis ROWID lapangan digunakan untuk memberikan setiap record dalam tabel Anda yang unik, nonduplicating nilai. Banyak sistem database lain mendukung konsep dengan lapanganCOUNTER (Microsoft Access) atau medan IDENTITAS (SQL Server).
CATATAN: Periksa pelaksanaan untuk jenis data yang didukung karena dapat bervariasi.
Nilai NULL
SQL juga memungkinkan Anda untuk mengidentifikasi apa yang dapat disimpan dalam kolom. Sebuah nilai NULL hampir oksimoron, karena memiliki lapangan dengan nilai NULL berarti bahwa lapangan sebenarnya tidak memiliki nilai yang tersimpan di dalamnya.
Ketika bangunan meja, sistem database yang paling memungkinkan Anda untuk menunjukkan kolom dengan kata kunci NULL TIDAK. NOT NULL berarti kolom tidak dapat berisi nilai NULL untuk setiap record dalam tabel. Sebaliknya, TIDAK NULL berarti bahwa setiap catatan harus memiliki nilai aktual dalam kolom ini. Contoh berikut menggambarkan penggunaan kata kunci NULL TIDAK.
INPUT:
SQL> CREATE TABLE BILLS ( 2 NAME CHAR (30) NOT NULL, 3 JUMLAH NOMOR, 4 account_id NOT NULL);
ANALISIS:
Dalam tabel ini, Anda ingin menyimpan nama perusahaan Anda berutang uang untuk, bersama dengan jumlah tagihan itu. Jika bidang NAMA dan / atau account_id
tidak disimpan, catatan akan menjadi tidak berarti. Anda akan berakhir
dengan catatan dengan tagihan, namun Anda akan tidak tahu siapa yang
harus Anda bayar.
Pernyataan pertama dalam contoh berikut
menyisipkan catatan yang berisi data yang valid untuk tagihan yang akan
dikirim ke Joe Layanan Komputer sebesar $ 25.
INPUT / OUTPUT:
SQL> INSERT INTO NILAI BILLS ("Layanan Komputer Joe", 25, 1); 1 baris dimasukkan.
INPUT / OUTPUT:
SQL> INSERT INTO NILAI BILLS ("", 25000, 1); 1 baris dimasukkan.
ANALISIS:
Perhatikan bahwa catatan kedua dalam contoh sebelumnya tidak mengandung nilai NAMA.
(Anda mungkin berpikir bahwa penerima pembayaran yang hilang adalah
untuk keuntungan Anda karena jumlah tagihan adalah $ 25.000, tetapi kami
tidak akan mempertimbangkan bahwa mengangkat.) Yang Jika tabel telah
diciptakan dengan NULL TIDAK nilai untuk bidang NAMA, kedua masukkan akan kesalahan.
Aturan praktis yang baik adalah bahwa bidang kunci utama dan semua kolom kunci asing tidak boleh berisi nilai NULL.
Unik Fields
Salah satu tujuan desain Anda harus
memiliki satu kolom yang unik dalam setiap tabel. Ini kolom atau bidang
adalah bidang kunci primer. Beberapa sistem manajemen database
memungkinkan Anda untuk mengatur medan sebagai unik. Sistem manajemen
basis data lainnya, seperti Oracle dan SQL Server, memungkinkan Anda
untuk membuat indeks yang unik di lapangan. (Lihat Hari 10 fitur. Ini)
membuat Anda memasukkan nilai-nilai field kunci duplikat ke dalam
database.
Anda harus memperhatikan beberapa hal ketika memilih bidang kunci. Seperti yang telah disebutkan, Oracle menyediakan lapangan ROWID
yang bertambah untuk setiap baris yang ditambahkan, yang membuat bidang
ini secara default selalu sebuah kunci yang unik. Bidang ROWID
melakukan bidang utama yang sangat baik karena beberapa
alasan. Pertama, adalah lebih cepat untuk bergabung pada sebuah nilai
integer dari pada-karakter string 80. Hasil tersebut bergabung dalam
ukuran database lebih kecil dari waktu ke waktu jika Anda menyimpan
nilai integer di setiap dan asing kunci utama yang bertentangan dengan
nilai CHAR panjang. Keuntungan lainnya adalah bahwa Anda dapat menggunakan ROWID bidang untuk melihat bagaimana meja diatur. Juga, menggunakan nilai CHAR daun Anda terbuka untuk sejumlah masalah entri data. Sebagai contoh, apa yang akan terjadi jika satu orang masuk 111 First Street, yang lain masuk 111 1 Street, dan lagi-lagi masuk 111 First St?
Dengan lingkungan grafis pengguna hari ini, string yang benar bisa
dimasukkan ke dalam kotak daftar. Ketika seorang pengguna membuat
pilihan dari daftar kotak, kode tersebut akan mengkonversi string ini ke
sebuah ID yang unik dan menyimpan ID ini untuk database.
Sekarang Anda dapat membuat tabel yang
Anda gunakan tadi pagi. Anda akan menggunakan tabel ini selama sisa hari
ini, jadi Anda akan ingin mengisinya dengan beberapa data. Gunakan
perintah INSERT tertutup kemarin untuk memuat tabel dengan data pada Tabel 9.3, 9.4, dan 9,5.
INPUT / OUTPUT:
SQL> membuat database PEMBAYARAN; Pernyataan diproses. SQL> BILLS membuat tabel ( 2 NAME CHAR (30) NOT NULL, 3 JUMLAH NOMOR, 4 account_id NUMBER NOT NULL); Tabel dibuat. SQL> BANK_ACCOUNTS membuat tabel ( 2 NOMOR account_id NOT NULL, 3 JENIS CHAR (30), 4 NERACA NOMOR, 5 BANK CHAR (30)); Tabel dibuat. SQL> membuat tabel PERUSAHAAN ( 2 NAME CHAR (30) NOT NULL, 3 ALAMAT CHAR (50), 4 CHAR KOTA (30), 5 CHAR NEGARA (2)); Tabel dibuat.
Tabel 9.3. Contoh data untuk tabel BILLS.
Nama | Jumlah | Account_id |
Telepon Perusahaan | 125 | 1 |
Power Company | 75 | 1 |
Rekam Club | 25 | 2 |
Software Perusahaan | 250 | 1 |
Perusahaan TV kabel | 35 | 3 |
Tabel 9.4. Contoh data untuk tabel BANK_ACCOUNTS.
Account_id | Jenis | Keseimbangan | Pita |
1 | Memeriksa | 500 | Pertama Federal |
2 | Pasar uang | 1200 | Pertama Investor |
3 | Memeriksa | 90 | Credit Union |
Tabel 9.5. Contoh data untuk tabel PERUSAHAAN.
Nama | Alamat | Kota | Negara |
Telepon Perusahaan | 111 1 Street | Atlanta | GA |
Power Company | 222 2 Street | Jacksonville | FL |
Rekam Club | 333 3 Avenue | Los Angeles | CA |
Software Perusahaan | 444 4 Drive | San Francisco | CA |
Perusahaan TV kabel | 555 5 Drive | Austin | TX |
Tabel Penyimpanan dan Ukuran
Kebanyakan RDBMSs utama memiliki setting
default untuk ukuran meja dan lokasi tabel. Jika Anda tidak menentukan
ukuran meja dan lokasi, kemudian meja akan mengambil default. The
default mungkin sangat tidak diinginkan, terutama untuk tabel
besar. default ukuran dan lokasi akan bervariasi antara
implementasi. Berikut adalah contoh dari pernyataan CREATE TABLE dengan klausa penyimpanan (dari Oracle).
INPUT:
SQL> CREATE TABLE tablename 2 (NOT NULL CHAR COLUMN1, 3 COLUMN2 NOMOR, 4 COLUMN3 DATE) 5 tablespace Tablespace NAMA 6 PENYIMPANAN 7 AWAL UKURAN, 8 NEXT UKURAN, 9 MINEXTENTS nilai, 10 MAXEXTENTS nilai, 11 PCTINCREAS E nilai);
OUTPUT:
Tabel dibuat.
ANALISIS:
Dalam Oracle Anda dapat menentukan
tablespace di mana Anda ingin meja untuk tinggal. Satu keputusan
biasanya dibuat sesuai dengan ruang yang tersedia, sering oleh database
administrator (DBA) UKURAN. AWAL adalah ukuran untuk tingkat awal tabel (yang awal ruang yang dialokasikan) UKURAN. BERIKUTNYA adalah nilai untuk setiap luasan tambahan meja dapat berlangsung melalui pertumbuhan. MINEXTENTS dan MAXEXTENTS mengidentifikasi luasan maksimum dan minimum yang diizinkan untuk meja, dan PCTINCREASE mengidentifikasi persentase tingkat berikutnya akan meningkat setiap kali meja tumbuh, atau mengambil batas lain.
Membuat Tabel dari Tabel Ada
Yang paling umum cara untuk membuat tabel adalah dengan perintah CREATE TABLE.
Namun, sistem manajemen database beberapa memberikan metode alternatif
untuk menciptakan tabel, menggunakan format dan data dari tabel yang
ada. Metode ini berguna bila Anda ingin memilih data dari meja untuk
modifikasi sementara. Hal ini juga dapat berguna saat Anda harus membuat
tabel yang sama ke tabel yang ada dan mengisinya dengan data yang
sama. (Anda tidak perlu masuk kembali semua informasi ini Oracle.)
Sintaks untuk berikut.
Sintaks:
CREATE TABLE NEW_TABLE (FIELD1, FIELD2, FIELD3) AS (SELECT FIELD1, FIELD2, FIELD3 DARI <WHERE...> OLD_TABLE
sintaks ini memungkinkan Anda untuk
membuat sebuah meja baru dengan jenis data yang sama dengan kolom yang
dipilih dari meja tua. Hal ini juga memungkinkan Anda untuk mengubah
nama field dalam tabel baru dengan memberi mereka nama-nama baru.
INPUT / OUTPUT:
SQL> CREATE TABLE NEW_BILLS (NAMA, JUMLAH, account_id) 2 AS SELECT * (BILLS FROM WHERE JUMLAH <50); Tabel dibuat.
ANALISIS:
Pernyataan sebelumnya membuat tabel baru (NEW_BILLS) dengan semua catatan dari meja BILLS yang AMOUNT sebuah kurang dari 50.
Beberapa sistem database juga memungkinkan Anda untuk menggunakan sintaks berikut:
Sintaks:
INSERT NEW_TABLE SELECT <field1, field2 ... | *> Dari OLD_TABLE <WHERE...>
Sintaks sebelumnya akan membuat tabel
baru dengan struktur lapangan tepat dan data yang ditemukan di meja
tua. Menggunakan-SQL server Transact SQL dalam contoh berikut
menggambarkan teknik ini.
INPUT:
INSERT NEW_BILLS 1 * pilih> dari BILLS mana JUMLAH <50 2> pergi
(Pernyataan GO di SQL Server memproses pernyataan SQL dalam buffer perintah;. Hal ini setara dengan titik koma () digunakan dalam Oracle7.)
The ALTER TABLE Pernyataan
Berkali-kali desain database Anda tidak
menjelaskan segala sesuatu yang seharusnya. Selain itu, persyaratan
untuk aplikasi dan database selalu berubah. ALTER TABLE
pernyataan itu memungkinkan administrator database atau desainer untuk
mengubah struktur dari tabel setelah ini telah diciptakan.
ALTER TABLE Perintah ini memungkinkan Anda untuk melakukan dua hal:
- Tambahkan kolom ke tabel yang ada
- Mengubah kolom yang sudah ada
Sintaks untuk pernyataan ALTER TABLE adalah sebagai berikut:
Sintaks:
ALTER TABLE table_name <ADD column_name data_type; | Memodifikasi column_name data_type;>
Perubahan perintah berikut bidang NAMA tabel BILLS untuk menahan 40 karakter:
INPUT / OUTPUT:
SQL> ALTER TABLE BILLS 2 memodifikasi NAME CHAR (40); Tabel diubah.
CATATAN: Anda dapat menambah atau mengurangi panjang kolom, namun Anda tidak dapat mengurangi kolom yang panjang jika ukuran saat ini salah satu nilai yang lebih besar dari nilai yang ingin Anda tetapkan ke panjang kolom.
Berikut pernyataan untuk menambahkan kolom baru ke tabel NEW_BILLS:
INPUT / OUTPUT:
SQL> TABLE NEW_BILLS ALTER 2 ADD COMMENTS CHAR (80); Tabel diubah.
ANALISIS:
Pernyataan ini akan menambahkan kolom baru bernama COMMENTS mampu memegang 80 karakter. lapangan itu akan ditambahkan ke kanan semua bidang yang ada.
Beberapa pembatasan berlaku untuk menggunakan ALTER TABLE
pernyataan. Anda tidak dapat menggunakannya untuk menambah atau
menghapus field dari database. Hal ini dapat mengubah kolom dari NULL TIDAK NULL, tetapi belum tentu sebaliknya. Sebuah spesifikasi kolom dapat diubah dari TIDAK NULL NULL hanya jika kolom tersebut tidak mengandung nilai NULL. Untuk mengubah kolom dari NOT NULL ke NULL, gunakan sintaks berikut:
Sintaks:
ALTER TABLE table_name memodifikasi (column_name data_type NULL);
Untuk mengubah kolom dari NULL untuk TIDAK NULL, Anda mungkin harus mengambil beberapa langkah:
- Tentukan apakah kolom mempunyai nilai NULL.
- menemukan. Deal dengan NULL nilai-nilai yang Anda. (Hapus catatan-catatan, update kolom yang nilai, dan sebagainya.)
- Masalah ALTER TABLE perintah.
CATATAN: Beberapa sistem manajemen basis data mengizinkan penggunaan klausa memodifikasi; lainnya tidak. Masih lain telah menambahkan klausa lain untuk ALTER TABLElaporan. Dalam Oracle, Anda bahkan dapat mengubah parameter storage meja. Periksa dokumentasi sistem yang Anda gunakan untuk menentukan pelaksanaan ALTER TABLEpernyataan.
Pernyataan itu TABLE DROP
SQL menyediakan perintah untuk menghapus sebuah tabel dari database. The TABLE DROP
perintah menghapus tabel beserta semua pandangan yang terkait dan
indeks.. (Lihat Hari 10 untuk rincian) Setelah perintah ini telah
diterbitkan, tidak ada jalan kembali. Yang umum menggunakan sebagian
besar pernyataan DROP TABLE adalah ketika Anda telah membuat
tabel untuk digunakan sementara. Ketika Anda telah menyelesaikan semua
operasi di atas meja yang Anda rencanakan untuk lakukan, masalah
pernyataan TABLE DROP dengan sintaks berikut:
Sintaks:
DROP TABLE table_name;
Berikut adalah cara untuk drop tabel NEW_BILLS:
INPUT / OUTPUT:
SQL NEW_BILLS DROP TABLE>; Tabel menjatuhkan.
ANALISIS:
Perhatikan tidak adanya sistem prompt. Perintah ini tidak bertanya Apakah Anda yakin? (Y / N). Setelah perintah DROP TABLE dikeluarkan, tabel ini dihapus secara permanen.
PERINGATAN: Jika Anda masalah SQL NEW_BILLS DROP TABLE>; Anda dapat menjatuhkan meja yang salah. Ketika tabel menjatuhkan, Anda harus selalu menggunakan atau nama pemilik skema. Sintaks yang disarankan adalah
SQL OWNER.NEW_BILLS DROP TABLE>;
Kami menekankan sintaks ini karena kami pernah memiliki untuk memperbaiki database produksi dari tabel yang salah yang terjatuh. Meja itu tidak benar diidentifikasi dengan nama skema. Memulihkan database adalah delapan jam kerja, dan kami harus bekerja sampai tengah malam sudah lewat.
Pernyataan itu DROP DATABASE
Beberapa sistem manajemen database juga memberikan pernyataan DROP DATABASE, yang identik dalam penggunaan dengan pernyataan DROP TABLE. Sintaks untuk pernyataan ini adalah sebagai berikut:
DROP DATABASE database_name
Jangan jatuhkan database BILLS sekarang karena Anda akan menggunakannya untuk sisa hari ini, serta pada Hari ke-10.
CATATAN: Database relasional implementasi berbagai mengharuskan Anda untuk mengambil langkah-erent diff untuk drop database. Setelah database terjatuh, Anda perlu membersihkan file-file sistem operasi yang membentuk basis data.
Sumber ; http://www.webbasedprogramming.com