SQL iku kabeh kita

Kaya sing wis sampeyan duga, kabeh prentah menyang server SQL bisa diwenehake liwat pitakon SQL. Kabeh.

Tim iki resmi dipérang dadi 4 klompok:

  • pernyataan definisi data (Bahasa Definisi Data, DDL ):

    • CREATE nggawe obyek database (database dhewe, tabel, tampilan, pangguna, lan liya-liyane)
    • ALTER ngganti obyek
    • DROP mbusak obyek
  • operator manipulasi data (Data Manipulation Language, DML ):

    • SELECT milih data sing marem kahanan tartamtu
    • INSERT nambah data anyar
    • UPDATE ngganti data sing wis ana
    • DELETE mbusak data
  • operator definisi akses data (Data Control Language, DCL ):

    • GRANT menehi ijin pangguna (grup) kanggo nindakake operasi tartamtu ing obyek
    • REVOKE mbatalake ijin sing ditanggepi sadurunge
    • DENY nyetel larangan sing luwih dhisik tinimbang ijin
  • Pernyataan Transaction Control Language ( TCL ) :

    • COMMIT ngetrapake transaksi
    • ROLLBACK mbalek kabeh owah-owahan sing digawe ing konteks transaksi saiki
    • SAVEPOINT mbagi transaksi dadi bagean cilik

Lan rong tingkat pisanan, kita sinau mung varieties saka statement SELECT. Mbayangno carane akeh menarik nunggu kita ing mangsa.

Nanging kita nyiapake ing kene utamane babagan programer Java, mula kita bakal nyinaoni skenario sing mesthi bakal ditemoni ing karya.

Administrator sistem ing proyek kasebut bakal nggawe kabeh database, nanging sampeyan mesthi kudu nggawe pilihan saka data kasebut kaping pirang-pirang.

Menapa malih, kadhangkala kode sampeyan ora bakal nulis kabeh data menyang database utawa nulis kanthi cara sing salah, dadi sampeyan bakal kerep kudu menek karo pena lan ndeleng apa sing bener disimpen ing kono.

Ayo dirembug maneh bab-bab sing wis dirembug ing ceramah sadurunge.

Nggawe skema ing basis data

Kanggo nggawe skema anyar ing DBMS, sampeyan kudu mbukak printah:

CREATE SCHEMA Name;

Iki minangka pilihan sing paling gampang. Uga, nalika nggawe skema anyar, sampeyan bisa nemtokake format enkoding data lan paramèter liyane.

Yen sampeyan pengin mbusak skema kasebut, nanging sampeyan ora yakin manawa ana, mula sampeyan kudu mbukak perintah kasebut:

DROP SCHEMA IF EXIST Name;

Sampeyan bakal kerep ndeleng printah kasebut ing file kanthi serep database sing beda-beda, mula aku nggawa menyang kene.

Milih skema saiki

Yen sampeyan duwe akeh skema ing DBMS, mula bisa gampang kedadeyan yen skema sing beda duwe tabel sing padha. Kanggo ngindhari kebingungan, sampeyan bisa nindakake rong perkara:

  • Tansah sijine jeneng skema sadurunge jeneng tabel
  • Nemtokake skema standar

Ayo nulis pitakon sing bakal milih data saka tabel pangguna , sing ana ing skema tes . Bakal katon kaya iki:

SELECT * FROM test.user;

Iki mung penting yen sampeyan kudu gabung (JOIN) sawetara tabel saka skema sing beda ing siji pitakon.

Miturut cara, ing basa Jawa kita kerep nindakake soko padha: yen ing kode kita kudu nggunakake kelas karo jeneng sing padha saka paket beda, kita nambah jeneng paket sadurunge jeneng kelas.

Cara kapindho yaiku nemtokake skema standar . Yen pitakon nemtokake jeneng tabel nanging ora ana skema, skema standar digunakake. Kanggo nindakake iki, gunakake statement USE :

USE name - schemes;

Ayo nulis ulang pitakon sadurunge nggunakake statement USE:

USE test;
SELECT * FROM user;

Nggawe Tampilan

Saliyane tabel kanthi data nyata, SQL ngidini sampeyan nyimpen kaya tabel virtual, ing ngendi data ditarik saka tabel nyata. Tabel virtual kasebut diarani VIEW.

Tabel kuwi ora bisa nyimpen data nyata, lan saben-saben diakses, iku narik data saka tabel nyata. Isi VIEW kasebut ditemtokake nggunakake query SQL.

Sampeyan bisa nggawe VIEW saka pitakon SELECT kanthi prentah kaya:

CREATE VIEW Name AS
SELECT-request;
Ayo nulis pitakon sing bakal nggawe tabel virtual public_employee adhedhasar tabel karyawan, ing ngendi informasi gaji karyawan bakal didhelikake:
CREATE VIEW public_employee AS
SELECT id, name FROM employee

Ing conto ing ndhuwur, tabel (VIEW) public_employee mung bakal ngemot ID karyawan lan jeneng, nanging ora informasi babagan gaji. Sampeyan bisa nggunakake Views kuwi ing panggonan sing padha karo tabel nyata.

Napa Views dibutuhake? Dheweke duwe sawetara kaluwihan:

Kontrol fleksibel akses menyang informasi . Sampeyan bisa menehi pangguna tartamtu akses mung kanggo VIEW, nanging ora kanggo menehi akses kanggo tabel. Lan ing View, njupuk mung informasi umum saka tabel. Kajaba iku, yen kolom anyar karo informasi penting ditambahake ing tabel ing mangsa, iku ora sengaja njaluk menyang View.

Denormalisasi data . Kanggo penak panyimpenan, data asring dipérang dadi atusan lan ewu tabel, nanging ora trep banget kanggo wong biasa nggarap data kasebut - sampeyan kudu nulis pitakon sing rumit banget. Kanthi View, sampeyan bisa nggawe tabel virtual sing nampilake data saka puluhan tabel beda ing tabel siji.

Polimorfisme lan Enkapsulasi . Sampeyan bisa ngganti struktur database sampeyan. Ing wektu sing padha, pangguna program sing nggarap Tampilan sampeyan ora bakal ngira yen ana sing wis owah. Lan ora perlu nulis ulang kode program sing duwe akses menyang View. Sampeyan mung kudu ngapiki skrip SQL sing ana gandhengane karo VIEW.

Wacan wae . Tampilan mung bisa disetel nganggo pitakon PILIH, mula nggarap View ora bisa ngganti data ing tabel nyata kanthi cara apa wae. Miturut cara, iki minangka tambahan liyane kanggo caching pitakon. Nanging liyane ing wektu sabanjuré.