Language Support for an RDBMS
SQL :SQL is the language that provides command to interact with the data in the database. SQL consists of three components – DDL, DML & DCL.
DDL : DDL comprises commands you can use to create and modify the database structure.
DML : DML comprises commands you can use to add, modify, delete and query data in the database.
DCL : DCL comprises commands you can use to control the user access to the database.
Organizing the Database
Base Tables : A database comprises base tables, which have the following features :
They physically exist on the disk, Each of them has a unique name and they contain data that is crucial to an organization. Their attributes have data types such as character, integer, decimal, date and time.
CREATE TABLE : This is a DDL command in SQL that creates a new table in a database.
CREATE TABLE table-name (column-name data-type [[size]]
NOT NULL/DEFAULT default-value]]
CHECK (column-name > 0)
PRIMARY KEY (column-name)
FOREIGN KEY (column-name) REFERENCES table-name)
ALTER TABLE : This is a DDL command in SQL that modifies the structure of an existing table.
ALTER TABLE table-name
ADD (column-name data-type [[size]] [[NOT NULL DEFAULT]]…)
primary key definition / foreign key definition
DROP PRIMARY KEY / DROP FOREIGN KEY)
DROP TABLE : This is DDL command in SQL that deletes the an existing table. Once you delete a table, all data contained in it is lost and cannot be recovered. The storage space used by this table is also released.
DROP TABLE table-name
-Interacting with a Database
SELECT : This is a DML command in SQL that retrieves data from thedatabase in the form of query results.The command supports the following keywords and clauses :
FROM This keyword specifies the name of the table.
* This keyword selects all the columns of the table.
WHERE This keyword gives the search condition that specifies the data to be retrieved.
AND This operator is used to combine two or more search conditions.
ORDER BY This keyword sorts the query result on one or more columns.
GROUP BY This keyword groups the query result and lets you generate summary result for each group.
NULL values This value indicates that the data is not present.
Subquery This is the query that is place inside the main query. It passes its query result to the main query.
INSERT : This is a DML command in SQL that you use to add data in rows of a table.
INSERT INTO table-name (column-names) VALUES (constant/NULL)
UPDATE : This is a DML command in SQL that you use to change data on rows of a table.
UPDATE table-name SET column-name-value WHERE condition
DELETE : This is a DML command in SQL that removes one or more rows of data from a table.
DELETE FROM table-name WHERE condition.
End-user’s View of a Database
Views : Views are relations that are derived from one or more source tables. Views have the following features:
- Views let you restrict the access to data so that end-users see data relevant to them.
- Views do not physically exist in the database and only their definition is stored by an RDBMS.
- An RDBMS accesses the source tables for data to be retrieved from a view.
- Any changes that users make to views do not reflect in the source tables if the view has been created using a Join condition.
- Views created WITH CHECK OPTION allows for an added measure of security in a view. For example, the user will not be able to insert or update a row that could not be selected by the view-with check option prevents this from happening.
CREATE VIEW : A view can be created using the CREATE VIEW command.
CREATE VIEW view-name (column-names) AS query.
Retrieving Data from a View : Once you create a view, you can retrieve data from it using the SELECT command, just as you do for a table
Restricting Access to a Database
GRANT : This is a DCL command in SQL that you use to grant a specific set of authorities to one or more users.
GRANT (SQL command) (column-names) ON table-name TO user-name.
REVOKE : This is a DCL command in SQL that you use to take away a specific set of authorities from one or more users.
REVOKE (SQL command) ON table-name TO user-name.