الوحدة التاسعة - قاعدة البيانات وادارتها
TRANSCRIPT
قاعدة البيانات وادارتها
Data Type:
Char (n): حرف255–سلسلة رمزية محددة الطول مسبقا
Varchar2 (n): حرف 2000–سلسلة رمزية طول النص فيها هو الي يحدد طولها
Number(n,m):
m: الطول االجمالي للرقم.
n: طول الكسور
Ex: 102.52 = Number(6,2).
Date: شهر / وقت / يوم / تاريخ..
أوامر لغة وصف وتعريف البياناتData Definition Language (DDL)
Command
AbdulRahman M.Baraka
Tables:
Create table tablename (Column_Name type(size) [null/notnull]) Create table Dep(DNo number(3) not null, Dname varchar2(12));
DESC table_name (describe the table).
Alter table tablename Add (NewColumn_Name type) Alter table Dep Add (DCom number(3.2));
Alter table tablename Modify (Column_Name type(New length)) Alter table Dep Add (DCom number(6.2));
Alter table tablename Rename OldColumn_Name NewColumn_Name; Alter table Dep Rename (DCom Com)
Drop table tablename; Drop table Dep;
أوامر لغة وصف وتعريف البياناتData Definition Language (DDL)
Command
AbdulRahman M.Baraka
Keys:
Primary key: Create table Emp(ENo number(3) Primary Key);
Create table Emp(ENo number(3), Ename varchar2(12),Constraint Emp_PK primary key(ENo);
Alter table Emp Add Constraint Emp_PK primary key (ENo);
Foreign key: Create table Emp(ENo number(3), DepNo number(3),
Constraint Emp_FK foreign key(DepNo) references Dept(DepNo);
Alter table Emp Add Constraint Emp_FK foreign key (DepNo) references Dept(DepNo);
أوامر لغة وصف وتعريف البياناتData Definition Language (DDL)
Command
AbdulRahman M.Baraka
Check Constraints:
Create table Emp(ENo number(3) Primary Key, Age number(2)CHECK (age between 18 to 70));
Create table Emp(ENo number(3) Primary Key, Marital_Statusvarchar2(1) default ‘s’ CHECK (Marital_status in (‘s’, ‘m’, ‘d’, ‘w’));
Alter table Emp Add Constraint Emp_id Unique (EID);
أوامر لغة وصف وتعريف البياناتData Definition Language (DDL)
Command
AbdulRahman M.Baraka
Indexes:
Create index index_name On table_name(column_name)
Create index std_name_Indx On student(std_name);
Views:
Create view view_name AS select statements.
Create view emp_EA AS select * from emp where dep_no=10;
أوامر لغة وصف وتعريف البياناتData Definition Language (DDL)
Command
AbdulRahman M.Baraka
Insert:
Insert into table_name ( column1, column2 …) Values (value1,…);
Insert into student( st_no,st_name) Values (501,’Ali’);
Update:
Update table_name Set column_name = new_value Where Condition;
Update student Set st_age=22 Where st_no=501;
Delete:
Delete From table_name Where Condition;
Delete From student Where st_no=501;
أوامر لغة معالجة البياناتData Manipulation Language (DML)
Command
AbdulRahman M.Baraka
Select Statement:
SELECT {DISTINCT} Columns
FROM Table_name
WHERE Conditions
{ORDER BY [DESC/ASC]}
--------------------------------------
Select * FROM Student
SELECT Sname FROM Student
SELECT SID,Sname FROM Student.
SELECT Sname FROM Student WHERE Age<20
(SQL)البنية األساسية للغة التساؤل البنيوي
AbdulRahman M.Baraka
Functions of Select Statement:
Count:
SELECT COUNT(*) FROM Student WHERE St_Avg>80;
Avg:
SELECT COUNT(*), AVG(Sage) FROM Student WHERE St_Avg>80;
SUM:
SELECT SUM(E_Salary) FROM Emp WHERE E_Dep=5 ;
Max, Min:
SELECT MAX(E_Salary),MIN(E_Salary) FROM Emp WHERE E_Dep=5 ;
Aliases:
SELECT Ename EmployeeName FROM Emp;
(SQL)البنية األساسية للغة التساؤل البنيوي
AbdulRahman M.Baraka
Parameters:
Like:
SELECT Sname FROM Student WHERE Sname like’A%’;
Between:
SELECT Ename FROM Emp WHERE ESal BETWEEN 300 AND 500;
In:
SELECT Ename FROM Emp WHERE EDep IN (12,15);
Null:
SELECT Ename FROM Emp WHERE Tel IS NULL;
(SQL)البنية األساسية للغة التساؤل البنيوي
AbdulRahman M.Baraka
Security:
Create/Drop user: Create user user_name identified by password.
Create user guest1 identified by free;
Grant connect, resource to user_name.
Grant connect, resource to guest1;
Permissions: Grant < Select/Insert/Delete/Update> ON <table> TO <users>.
Grant select ON Employee TO Ali.
Revoke < Select/Insert/Delete/Update> ON <table> TO <users>.
Revoke insert ON Employee TO Mona.
(SQL)البنية األساسية للغة التساؤل البنيوي
AbdulRahman M.Baraka
Rollback: Insert into student Values (501,’Reem’,7,20);
ROLLBACK;
(SQL)البنية األساسية للغة التساؤل البنيوي
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
Student
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
501 Reem 7 20
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
501 Reem 7 20
Student Student
AbdulRahman M.Baraka
Rollback: Insert into student Values (501,’Reem’,7,20);
COMMIT;
ROLLBACK;
(SQL)البنية األساسية للغة التساؤل البنيوي
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
Student
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
501 Reem 7 20
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
501 Reem 7 20
Student Student
SID Sname Rate Age
0102 Ali 8 18
0106 Khalid 3 22
0107 Mona 2 23
501 Reem 7 20AbdulRahman M.Baraka