Podcast
Questions and Answers
What are the basic types of SQL commands?
What are the basic types of SQL commands?
Which of the following commands is a Data Definition Language (DDL) command?
Which of the following commands is a Data Definition Language (DDL) command?
Which statement about DML commands is true?
Which statement about DML commands is true?
Which SQL command would you use to remove a table from a database?
Which SQL command would you use to remove a table from a database?
Signup and view all the answers
What does the SQL acronym stand for?
What does the SQL acronym stand for?
Signup and view all the answers
In SQL, what is the purpose of the ROLLBACK command?
In SQL, what is the purpose of the ROLLBACK command?
Signup and view all the answers
Who is typically responsible for determining user access levels to the database?
Who is typically responsible for determining user access levels to the database?
Signup and view all the answers
Which command is used to modify existing data in a database?
Which command is used to modify existing data in a database?
Signup and view all the answers
What is required to create a new user account in Oracle10g?
What is required to create a new user account in Oracle10g?
Signup and view all the answers
Which of the following best describes a user schema in Oracle10g?
Which of the following best describes a user schema in Oracle10g?
Signup and view all the answers
What is the correct syntax for creating a table in Oracle10g?
What is the correct syntax for creating a table in Oracle10g?
Signup and view all the answers
Which statement about Oracle naming standards is correct?
Which statement about Oracle naming standards is correct?
Signup and view all the answers
What is the role of data types in Oracle databases?
What is the role of data types in Oracle databases?
Signup and view all the answers
What is the maximum number of characters that VARCHAR2 can hold in Oracle10g?
What is the maximum number of characters that VARCHAR2 can hold in Oracle10g?
Signup and view all the answers
Which of the following is NOT a built-in data type in Oracle?
Which of the following is NOT a built-in data type in Oracle?
Signup and view all the answers
Which statement accurately describes the CHAR data type?
Which statement accurately describes the CHAR data type?
Signup and view all the answers
Study Notes
Database Systems Lecture 8
- Lecture delivered by Dr. Amr Abdel Fatah
- Focuses on Structured Query Language (SQL)
- SQL is the industry standard query language for most relational databases.
- Databases consist of multiple user accounts
- Each user account own database objects (tables, views, stored programs, etc)
- A query is a command used to perform operations on database objects
- SQL is an acronym for Structured Query Language
- SQL is pronounced as "S-Q-L" or "Sequel"
- SQL was originally developed by IBM in the 1970s as the SEQUEL language
- SQL-92 is an ANSI national standard adopted in 1992
- Two basic types of SQL commands exist: Data Definition Language (DDL) and Data Manipulation Language (DML)
DDL Commands
- Used to create and modify the structure of database objects
- Includes commands like CREATE, ALTER, DROP, GRANT, and REVOKE
- DDL commands execute instantly and do not need saving
DML Commands
- Used to insert, view and modify database data
- Includes commands like INSERT, UPDATE, DELETE, and SELECT
- DML commands require explicit saving or rolling back
Security - Granting Table Privileges
- Security is about preventing unauthorized access to the database.
- Database administrators in organizations determine the access types for different users.
- Some users might be able to retrieve and update data
- Other users might be able to access data but not alter it.
- Certain users may have limited access to only certain parts of the database.
Oracle10g User Accounts
- User accounts are identified by a unique username and password.
- User schema encompasses all objects created and stored by the user in the database.
- The object owner has privileges to perform all actions on an object.
Creating New User Accounts
- Done by database administrators
- Syntax: CREATE username IDENTIFIED BY password;
Defining Oracle10g Database Tables
- To create a table, you must specify table name, field names, data types, sizes, and constraints that limit the allowed data values.
Creating a Table
- Syntax: CREATE TABLE tablename (FieldName1 DataType, FieldName2 DataType, ...);
Oracle Naming Standards and Conventions
- Oracle database objects must adhere to naming standards.
- Names must be between 1 and 30 characters.
- Names can use alphanumeric characters and special characters ($, #).
- Names must begin with a letter and cannot contain spaces or hyphens
Oracle Data Types
- Data type specifies the kind of data stored in a field.
- Assigning a data type helps in error checking.
- Data types allow the DBMS to use storage space effectively
Data Types (Built-in, Library, User-defined)
- Built-in data types provided by the system or software vendor.
- Library types created by a third party.
- User-defined data types created by users.
Basic Built-In Data Types
- Character types (VARCHAR2, CHAR, NVARCHAR2/NCHAR)
- Numeric types (NUMBER)
- Date/time types (DATE)
- Other types (LONG, RAW, LONG RAW, BLOB)
Character Data Types
- VARCHAR2 stores variable length character data up to 4,000 characters, with different records having different numbers of characters.
- CHAR data type stores fixed-length data typically up to 2,000 characters with all records having same character count.
Character Subtypes
- VARCHAR2(n): example values include 'Smith', 'Smi'
- CHAR(n): example values include 'Smith', 'Smi'
- NVARCHAR2 and NCHAR: used to store character data in languages beyond English, using Unicode instead of ASCII.
Number Data Types
- Stores positive, negative, fixed-point and floating-point numbers from 10⁻¹³⁰ to 10¹²⁵, with precision up to 38 decimal places.
- Integer is a number without decimals.
- Fixed-point is a number with specified decimals.
- Floating-point has a variable number of decimals.
Date and Time Data Types
- Stores date and time data following dd-mmm-yy format, within a specific date range.
- Date and time data formats are represented with masks (e.g. using an MM/DD/YY mask for a specific format).
Large Object (LOB) Data Types
- LOB data types handle sizeable binary or character data (up to 4GB).
- BLOB is for binary data, CLOB for character data, and BFILE for binary external files. NCLOB for specific character data in languages beyond English.
SQL for Data Definition
- CREATE statements used to create database objects.
- ALTER used to modify existing objects.
- DROP used to delete database objects.
SQL for Data Definition: CREATE
- Syntax for creating database tables (e.g. CREATE TABLE Employee (EmpID Integer, EmpName Char(25))).
Displaying Table Structure
- Using DESC or DESCRIBE command demonstrates table structure (fields, types, etc.).
What is a Constraint?
- A mechanism used to protect the integrity of table data.
- Constraints restrict values in columns/fields or between tables.
- Example: An 'Employee' table may have a foreign key constraint that links employee data to department data.
Types of Constraints
- Integrity constraints define relationships between tables, primary keys and foreign keys.
- Value constraints define specific data values or ranges.
- Table constraints restrict entries based on the values in other table entries.
Types of Value Constraints
- Check condition: Restrict entries to specific values.
- Not NULL: Restricts a field from being empty.
- Unique: Ensures a field's value is distinctive within the table.
Integrity Constraints
- Define Primary Key, foreign keys (and their references to other tables/columns), and composite keys.
SQL for Data Definition: CREATE with CONSTRAINT
- Creating tables with primary key constraints.
- Example of using
CREATE TABLE
command to create and define constraints using the keywordCONSTRAINT
. This is the standard way of defining a key.
SQL for Data Definition: Adding Constraints
- Adding constraints to existing tables. Example commands for creating a PRIMARY KEY constraint using the
ALTER
keyword (common technique in Database Management).
SQL for Data Definition: Composite Key Constraints
- Implementing composite primary key constraints.
EmpSkillPK
,EmpFK
,SkillFK
are used to define specific primary and foreign key relationships (e.g. linking an Employee to their Skills).
SQL for Data Definition: Foreign Key Constraints
-
FOREIGN KEY
constraints are used to link related tables across databases.
Defining the Cascade Rules: ALTER
-
ON DELETE CASCADE
andON UPDATE CASCADE
ensure related entries automatically update or delete depending on changes in the referenced records.
Deleting Database Objects: DROP
-
DROP TABLE
commands delete table entries from a database table. Data is permanently removed.
Modifying Data using SQL
-
INSERT
,UPDATE
, andDELETE
are used to modify table records (data inside the tables).
Adding Data: INSERT
-
INSERT INTO
is used to add new rows to tables. Various formats are possible includingVALUES
and other options
Changing Data Values: UPDATE
- Use
UPDATE
to change row data. -
SET
specifies which values are updated. -
WHERE
provides search conditions.
Deleting Data: DELETE
- Use
DELETE FROM
to remove rows from tables. -
WHERE
clause is used to specify which rows or subsets to delete.
Match Criteria
- SQL
WHERE
clauses use comparison operators like=
,<>
,>
,<
,>=
,<=
to filter data.
Match Operators
-
AND
andOR
combine multiple criteria to refine data matching.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
This lecture focuses on Structured Query Language (SQL), the industry standard for relational databases. It covers the types of SQL commands, including Data Definition Language (DDL) and Data Manipulation Language (DML), and the historical context of SQL's development. Understand how SQL is used to manage database structures and data effectively.