Page 68 - Linux_7

Basic HTML Version

Σ
το δεύτερο μέρος του άρθρου μας θα ασχοληθούμε με
τις εντολές επεξεργασίας και διαχείρισης των δεδομέ-
νων μας. Άλλωστε, ο σκοπός της SQLite είναι να επε-
ξεργάζεται και να διαχειρίζεται τα δεδομένα μας.
Προτού προχωρήσουμε, είναι αναγκαίο να έχουμε στη διά-
θεσή μας μία βάση δεδομένων για να τη χρησιμοποιήσουμε
ως παράδειγμα. Στο παρόν άρθρο θα χρησιμοποιήσουμε τη
βάση δεδομένων test.db με πίνακες Cars, Names & Orders.
Η δομή της βάσης δεδομένων έχει ως εξής:
CREATE TABLE Cars(Id integer PRIMARY KEY, Name text,
Cost integer);
CREATE TABLE Names(Id integer, Name text);
CREATE TABLE Orders(Id integer PRIMARY KEY, OrderPrice
integer CHECK(OrderPrice>0), Customer text);
Για να μη σας υποβάλουμε στο βασανιστήριο της εισαγω-
γής δεδομένων (σιγά μην το κάνατε, άλλωστε), το αρχείο
test.db βρίσκεται στο συνοδευτικό DVD του περιοδικού στο
φάκελο MAGAZINE\SQLite.
Δημιουργία, τροποποίηση και απόρριψη πινάκων
Το data definition language (DDL) της βάσης δεδομένων
SQLite αποτελείται από δηλώσεις της SQL με τις οποίες κα-
θορίζουμε τη δομή (schema) της βάσης δεδομένων μας. Στις
σχεσιακές βάσεις δεδομένων το schema καθορίζει τους πίνα-
κες, τα views, τα indexes & triggers. Η SQLite υποστηρίζει τις
ακόλουθες τρεις DDL δηλώσεις:
CREATE
ALTER TABLE
DROP
Η δήλωση CREATE χρησιμοποιείται για να δημιουργήσου-
με πίνακες, indexes, views & triggers. Η δήλωση ALTER
TABLE αλλάζει τη δομή του πίνακα και η δήλωση DROP αφαι-
ρεί πίνακες, indexes, views & triggers. Ας τα δούμε παρακάτω
με παραδείγματα...
CREATE & DROP TABLE
Όπως έχουμε πει, η δήλωση CREATE χρησιμοποιείται για
να δημιουργήσει τους πίνακες, καθώς και για τη δημιουργία
indexes, views & triggers. Για να δημιουργήσουμε έναν πίνα-
κα, δίνουμε ένα όνομα στον πίνακα και στις στήλες του. Κάθε
στήλη μπορεί να έχει έναν από τους παρακάτω τύπους δεδο-
μένων:
NULL – Η τιμή είναι NULL
INTEGER – Ένας θετικός ακέραιος
REAL – Μία τιμή κινητής υποδιαστολής
ΤΕΧΤ – Μία ακολουθία χαρακτήρων κειμένου
BLOB – Ένας ακαθόριστος όγκος δεδομένων
Οπότε εάν θέλουμε, για παράδειγμα, να δημιουργήσουμε
στη βάση δεδομένων test.db έναν νέο πίνακα Testing που να
περιέχει μία στήλη id τύπου integer, κάνουμε τα εξής:
sqlite3 test.db
CREATE TABLE Testing(id integer);
Έχοντας δημιουργήσει το νέο πίνακα, με τη εντολή .table
μπορούμε να δούμε όλους τους πίνακες που υπάρχουν στη
βάση δεδομένων μας και να επιλέξουμε αυτόν που θέλουμε
να απορρίψουμε:
.table
DROP TABLE Testing;
Ξαναδίνουμε .table και βλέπουμε ότι ο πίνακας Testing έχει
απορριφθεί
(εικόνα 1).
ALTER TABLE
Η εντολή ALTER TABLE επιτρέπει στο χρήστη να μετονομά-
σει έναν πίνακα ή να προσθέσει μία νέα στήλη σε έναν ήδη
υπάρχοντα πίνακα. Δεν είναι δυνατόν να μετονομάσουμε μία
στήλη, να αφαιρέσουμε μία στήλη, να προσθέσουμε ή να
αφαιρέσουμε περιορισμούς σε ήδη υπάρχουσες στήλες.
Οπότε, εάν θέλουμε, για παράδειγμα, να μετονομάσουμε
τον πίνακα Names σε NamesOfFriends, τσεκάρουμε πρώτα
την ύπαρξη του πίνακα:
.schema Names
Και έπειτα δίνουμε την εντολή:
Του Σταύρου Τεμερτζίδη <info@bullgr.org>
Linux Labs – SQLite
Στο πρώτο μέρος μάθαμε τις βασικές εντολές
διαχείρισης της SQLite και τη χρήση της από τη
γραμμή τερματικού. Στο δεύτερο μέρος θα
προχωρήσουμε στις εντολές διαχείρισης και
επεξεργασίας των δεδομένων μας.
Εργαλεία:
SQLite
Δυσκολία:
URL:
www.sqlite.org
www.
sqlite.org
Linux Inside
68
Ο Σταύρος αυτοαποκαλείται, εχμ... Linux hacker και open source developer.
Εισαγωγή στη SQLite
(Μέρος 2ο)
Δημιουργία και απόρριψη πινάκων.
1
στο dvd
Βaση
δεδομeνων
Όταν έχουμε να κάνουμε με μία μεγάλη βάση
δεδομένων, είναι καλό, για λόγους φόρτου
εργασίας, να περιορίζουμε τα αποτελέσματα των
ερωτημάτων μας.