Download - Sql database object
![Page 1: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/1.jpg)
1
Database SystemsDatabase Systems
Creating and Modifying
Database Objects
![Page 2: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/2.jpg)
2
Database Objects An Oracle database consists of
multiple user accounts Each user account owns database
objects Tables Views Stored programs Etc.
![Page 3: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/3.jpg)
3
Query: command to perform operation on database object Create Modify View Delete
Structured Query Language (SQL) Standard query language for
relational databases
Database Queries
![Page 4: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/4.jpg)
4
SQL Command Types Data Definition Language (DDL)
Used to create and modify the structure of database objects
Data Manipulation Language (DML) Used to insert, update, delete, and
view database data
![Page 5: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/5.jpg)
5
DDL Commands Used to create and modify the
structure of database objects CREATE ALTER DROP
DDL commands execute as soon as they are issued, and do not need to be explicitly saved
![Page 6: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/6.jpg)
6
DML Commands Used to insert, view, and modify
database data INSERT UPDATE DELETE SELECT
DDL commands need to be explicitly saved or rolled back COMMIT ROLLBACK
![Page 7: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/7.jpg)
7
User Accounts Each Oracle database user has a
user schema Area in the database where the user’s
database objects are stored Identified by a unique username and
protected by a password Each user schema is granted
specific privileges
![Page 8: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/8.jpg)
8
Types of Database Privileges System Privileges
Control the operations that the user can perform within the database
Connecting to the database, creating new tables, shutting down the database, etc.
Object Privileges Granted on individual database objects Controls operations that a user can perform on a
specific object (insert data, delete data, etc.) When you create an object in your user schema,
you can then grant object privileges on that object to other database users
![Page 9: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/9.jpg)
9
Oracle Naming Standard Oracle database objects must
adhere to the Oracle Naming Standard 1 to 30 characters long Must begin with a character Can contain characters, numbers, and
the symbols $, _, and #
![Page 10: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/10.jpg)
10
Creating New User Accounts Done by DBA Syntax:CREATE username IDENTIFIED BY password;
![Page 11: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/11.jpg)
11
Example Oracle System Privileges
Privilege Level
Purpose
CREATE SESSION User Connecting to databaseCREATE TABLE User Creating tables in current user
schemaDROP TABLE User Dropping tables in current user
schemaUNLIMITED TABLESPACE
User Allows user to create schema objects using as much space as needed
CREATE USER DBA Creating new usersGRANT ANY PRIVILEGE DBA Granting system privileges to
usersCREATE ANY TABLE DBA Creating tables in any user
schemaDROP ANY TABLE DBA Dropping tables in any user
schema
![Page 12: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/12.jpg)
12
Granting System Privileges Done by DBA Syntax:
GRANT privilege1, privilege2, … TO username;
![Page 13: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/13.jpg)
13
Database Roles Role is a database object that can
be assigned system privileges Role is then assigned to a user,
and the user inherits the role’s privileges
Used to easily assign groups of related privileges to users
![Page 14: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/14.jpg)
14
Creating Roles Syntax:CREATE ROLE role_name;
![Page 15: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/15.jpg)
15
Assigning Privileges to a Role Syntax:GRANT privilege1, privilege2, … TO role_name;
![Page 16: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/16.jpg)
16
Assigning a Role to a User Syntax:GRANT role_name TO user_name;
![Page 17: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/17.jpg)
17
Revoking System Privileges Syntax:REVOKE privilege1, privilege2, …FROM username;
![Page 18: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/18.jpg)
18
Administering System Privileges To be able to grant system
privileges to other users, a user account must have been granted the privilege WITH ADMIN OPTION
![Page 19: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/19.jpg)
19
To create a table, you must specify: Table name Field names Field data types Field sizes Constraints
Defining Database Tables
![Page 20: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/20.jpg)
20
Must follow the Oracle Naming Standard
Each table in a user schema must have a unique name within that user schema
Each field in a table must have a unique name within that table
Table and Field Names
![Page 21: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/21.jpg)
21
Data type: specifies type of data stored in a field Date, character, number, etc.
Uses Error checking Efficient use of storage space
Oracle Data Types
![Page 22: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/22.jpg)
22
VARCHAR2 Variable-length character strings Maximum of 4,000 characters Must specify maximum width
allowed No trailing blank spaces are added
Example declaration:student_name VARCHAR2(30)
Oracle Character Data Types
![Page 23: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/23.jpg)
23
CHAR Fixed-length character data Maximum size 2000 characters Must specify maximum width allowed Adds trailing blank spaces to pad
width
Example declaration:student_gender CHAR(1)
Character Data Types
![Page 24: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/24.jpg)
24
NCHAR Supports 16-digit binary
character codes Used for alternate alphabets
Character Data Types
![Page 25: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/25.jpg)
25
NUMBER stores values between 10-130 and 10126
General declaration format:variable_name NUMBER(precision, scale)
Number Data Type
![Page 26: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/26.jpg)
26
Number type (integer, fixed point, floating point) specified by precision and scale Precision: total number of digits
on either side of the decimal point
Scale: number of digits to right of decimal point
NUMBER Data Types
![Page 27: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/27.jpg)
27
Whole number with no digits to right of decimal point
Precision is maximum width Scale is omitted
Sample declaration:s_age NUMBER (2)
Integer Numbers
![Page 28: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/28.jpg)
28
Contain a specific number of decimal places
Precision is maximum width Scale is number of decimal
places
Sample declaration:item_price NUMBER(5, 2)
Fixed Point Numbers
![Page 29: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/29.jpg)
29
Contain a variable number of decimal places
Precision and scale are omitted
Sample declaration:s_GPA NUMBER
Floating Point Numbers
![Page 30: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/30.jpg)
30
DATE Stores dates from 1/1/4712 BC to
12/31/4712 AD Stores both a date and time component
Default date format: DD-MON-YY HH:MI:SS AM example: 05-JUN-03 12:00:00 AM
Sample declaration:s_dob DATE
Date Date Type
![Page 31: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/31.jpg)
31
If no time value is given when a new date is inserted, default value is 12:00:00 AM
If no date value is given when a new time is inserted, default date is first day of current month
Specifying Date and Time Values
![Page 32: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/32.jpg)
32
Large Object (LOB) Data Types Binary Large Object (BLOB)
Stores up to 4 GB of binary data Character Large Object (CLOB)
Stores up to 4 GB of character data BFILE
Stores a reference to a binary file maintained in the operating system
NCLOB Character LOB that supports 16-bit character
code
![Page 33: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/33.jpg)
33
Declaring LOB Data Fields Item size is not specified
Examples:item_image BLOBitem_image BFILE
![Page 34: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/34.jpg)
34
Syntax:CREATE TABLE table_name
( fieldname1 datatype, fieldname2 datatype, …); Example:CREATE TABLE my_students( s_id NUMBER(6), s_name VARCHAR2(30), s_dob DATE, s_class CHAR(2));
Creating a Database Table
![Page 35: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/35.jpg)
35
Constraints Rules that restrict the values that
can be inserted into a field Types of constraints
Integrity: define primary and foreign keys
Value: specify values or ranges of values that can be inserted
![Page 36: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/36.jpg)
36
Constraint Levels Table constraint
Restricts the value of a field with respect to all other table records
Example: primary key value must be unique for each record
Column constraint Restricts values in a specific column Example: values in an S_GENDER
field must be ‘M’ or ‘F’
![Page 37: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/37.jpg)
37
Internal name used by DBMS to identify the constraint
Each constraint name in a user schema must be unique
If you do not name a constraint, the system will automatically generate an unintuitive name
Constraint Names
![Page 38: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/38.jpg)
38
Constraint naming convention:tablename_fieldname_constraintID
Constraint ID values: Primary key: pk Foreign key: fk Check condition: cc Not NULL: nn Unique: uk
Example constraint name:my_students_s_id_pk
Constraint Names
![Page 39: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/39.jpg)
39
Table-level Defining a primary key:
CONSTRAINT constraint_name PRIMARY KEY
Example:s_id NUMBER(6) CONSTRAINT student_s_id_pk PRIMARY KEY
Primary Key Constraints
![Page 40: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/40.jpg)
40
Can be defined when field is declared
Primary Key Constraints
![Page 41: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/41.jpg)
41
Can also be defined after all table field definitions are completed
Primary Key Constraints
![Page 42: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/42.jpg)
42
Syntax:CONSTRAINT constraint_name PRIMARY KEY (field1, field2)
Must be defined after fields that compose key are defined
Composite Primary Keys
![Page 43: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/43.jpg)
43
Table-level Can only be defined after field is
defined as a primary key in another table
Syntax:CONSTRAINT constraint_name REFERENCES primary_key_table_name (field_name)
Foreign Key Constraints
![Page 44: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/44.jpg)
44
Can be defined when field is declared
Foreign Key Constraints
![Page 45: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/45.jpg)
45
Can also be defined after all table field definitions are completed
Foreign Key Constraints
![Page 46: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/46.jpg)
46
Column-level Restricts data values that can be
inserted in a field In general, avoid value constraints
because they make the database very inflexible
Value Constraints
![Page 47: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/47.jpg)
47
Check condition: restricts to specific values Example: s_gender (M or F)CONSTRAINT my_students_s_gender_ccCHECK (s_gender = ‘M’) OR (s_gender = ‘F’)
Not NULL: specifies that a field cannot be NULL Example: CONSTRAINT my_students_s_dob_nnNOT NULL
Types of Value Constraints
![Page 48: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/48.jpg)
48
Default: specifies a default value that is inserted automatically Example:s_state CHAR(2) DEFAULT ‘WI’
Unique Table constraint Specifies that a non-primary key field must have a
unique value CONSTRAINT consultant_c_email_uk UNIQUE (c_email)
Types of Value Constraints
![Page 49: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/49.jpg)
49
Oracle SQL command line utility for issuing SQL commands
Starting SQL*Plus
SQL*Plus
![Page 50: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/50.jpg)
50
All commands must be terminated with a semicolon
Use a text editor and copy and paste commands
Character data is case sensitive and must be in single quotes‘M’‘Sarah’
Using SQL*Plus
![Page 51: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/51.jpg)
51
Type exit at SQL> promptor
Click Close button on SQL*Plus window
Exiting SQL*Plus
![Page 52: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/52.jpg)
52
Ora.hlp file Oracle Technology Network
(OTN) http://otn.oracle.com
Oracle Help Resources
![Page 53: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/53.jpg)
53
Viewing a table’s structureDESCRIBE table_name;
Viewing Table Information
![Page 54: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/54.jpg)
54
Oracle Data Dictionary Contains tables that describe the
database structure Is in the SYSTEM user schema
Is automatically updated as users create and modify tables Cannot be updated directly
Contains views that allow users to retrieve information about the database structure
![Page 55: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/55.jpg)
55
Data Dictionary Views Views present data in different
formats depending on the privileges of the user USER: shows all objects belonging to
the current user ALL: shows all objects belonging to the
current user, as well as objects current user has privileges to manipulate
DBA: allows users with DBA privileges to view objects of all database users
![Page 56: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/56.jpg)
56
Querying the Data Dictionary Views Syntax:SELECT field1, field2, …FROM privilege_viewname;
![Page 57: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/57.jpg)
57
Summary of Oracle Data Dictionary ViewsOBJECTS All database objectsTABLES Database tablesINDEXES Table indexes created to improve
query performanceVIEWS Database viewsSEQUENCES Sequences created to automatically
generate surrogate key valuesUSERS Database usersCONSTRAINTS Table constraintsCONS_CONSTRAINTS
Table columns that have constraints
IND_COLUMNS Indexed columnsTAB_COLUMNS All table columns
![Page 58: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/58.jpg)
58
Unrestricted actions Renaming tables Adding new columns Increasing column sizes Dropping columns Dropping constraints
Modifying Tables
![Page 59: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/59.jpg)
59
Restricted actions Dropping tables
Only allowed if table does not contain any fields that are referenced as foreign keys, or if foreign key constraints are dropped
Changing a column’s data specification Only allowed if existing data is compatible with
new data specification Decreasing column sizes
Only allowed if column does not contain any data Adding constraints
Only allowed if existing data meets requirements of new constraint
Modifying Tables
![Page 60: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/60.jpg)
60
Altering Tables Adding a new field:ALTER TABLE tablenameADD (fieldname field_specification);
![Page 61: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/61.jpg)
61
Altering Tables Modifying an existing field:ALTER TABLE tablenameMODIFY (fieldname new_field_specification);
![Page 62: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/62.jpg)
62
Altering Tables Deleting an existing field:ALTER TABLE tablenameDROP COLUMN fieldname;
![Page 63: Sql database object](https://reader036.vdocument.in/reader036/viewer/2022062820/589f1a651a28ab7b208b509d/html5/thumbnails/63.jpg)
63
Deleting Tables Syntax to delete table if no table
fields are referenced as foreign keys:DROP TABLE tablename;
Syntax to delete table and constraints if table contains fields that are referenced as foreign keys:
DROP TABLE tablename CASCADE CONSTRAINTS;