3. PRODUCTS FROM
MySQL
• License:
GPL or Proprietory
Edition Price (1 year)
Community edition Free
Standard edition $2000
Enteprise edition $5000
Cluster CG Edition $10000
3-Sep-12 3
4. PRODUCTS FROM
ORACLE
• License:
Proprietory
Edition Price
Standard Edition $70
Enterprise edition $950
Express edition Free
3-Sep-12 4
5. ORACLE vs MySQL
Max rows and columns
• MySQL
Rows = 65534
Columns = 3398
• Oracle
Rows = Unlimited
Columns = 1000
3-Sep-12 5
6. ORACLE vs MySQL
Dedicated web server
• Database servers are dedicated
computers that hold the actual
databases and run only the DBMS
and related software
• MySQL = No
• Oracle =Oracle WebDB, for simple
Web applications
Oracle Application Server (OAS) for
professional, scalable Web
applications
3-Sep-12 6
7. ORACLE vs MySQL
Privileages
• MySQL : Table level , UPDATE,INSERT
on selected columns
Oracle: Table level,
UPDATE,INSERT,REFERENCES on
columns
Grouping the access:
MySQL : No
Oracle: Privileages can be grouped
3-Sep-12 7
8. ORACLE vs MySQL
Platform available
• Both are available on major
platforms such as Linux,Windows,
OS/2
Portability
• MySQL: Copy MySQL file between
platforms but with same floating
point formats.
• Oracle: Portable with import and
3-Sep-12 8
9. ORACLE vs MySQL
Authorization
• MySQL : 3 parameters, User name,
Password, Location
• Oracle: 2 parameters , Username,
Password.
Stored procedures
• MySQL: Available only from 5.x
versions
• Oracle: PL/SQL, Java
Rollback and transaction
• MySql = YES
3-Sep-12 9
10. ORACLE vs MySQL
• Oracle database supports all three
types of outer join and supports left
and right outer joins.
• MySQL supports left and right
outer joins, but not full outer
joins.
• Without the support of full outer
joins, MySQL queries requiring this
functionality must use a UNION
statement to concatenate the
result set of
3-Sep-12 query using a left 10
11. ORACLE vs MySQL
Sequence
• Sequence automatically generates
unique numbers.
• Sequences is to create a primary key
value, which must be unique for each
row. The sequence is generated and
incremented by an internal Oracle
routine.
Auto-increment
• Auto-increment allows a unique number
to be generated when a new record is
3-Sep-12 11
12. ORACLE vs MySQL
XML:
• Extensible Markup Language (XML) is a
standard file format used to transfer
data between systems.
• Oracle provides native support for XML
with a custom XML data type and tools
to query the data.
• MySQL does not provide native XML
support.
3-Sep-12 12
13. ORACLE vs MySQL
• Both Oracle and MySQL have memory
leaks problem.
• Oracle is better with memory leaks and
handles multiple threads.
3-Sep-12 13
14. ORACLE vs MySQL
Elementary Features:
• Basic data types
• SQL language features
• Declarative integrity constraints
• Programming abstractions
3-Sep-12 14
15. ORACLE vs MySQL
Basic Data Types
Assessment:
Product Grade
MySQL Good
Oracle Average
3-Sep-12 15
16. ORACLE vs MySQL
Character, numeric and date/time
data types:
• MySQL:Broad subset of SQL'92
types, including all SQL'92 numeric
types.MySQL supports the CHAR and
VARCHAR type for character type
with a length that is less than
65,535 bytes.
• The CHAR type can have a maximum
length of 255 bytes.
3-Sep-12 16
17. ORACLE vs MySQL
Character, numeric and date/time
data types:
• Oracle:Subset of SQL'92 types plus
specific types. Some SQL'92 types
are mapped into Oracle types.
• No boolean type nor equivalent.
• Oracle supports four character
types: CHAR, NCHAR, NVARCHAR2 and
VARCHAR2.CHAR and NCHAR is 2,000
bytes, and for NVARCHAR2 and
3-Sep-12 17
18. ORACLE vs MySQL
SQL Language Features
Assessment:
Product Grade
MySQL Average
Oracle Good
3-Sep-12 18
19. ORACLE vs MySQL
SQL Language Features
User-defined data types
• MySQL: No.
• Oracle: User can define new
complex data types.
• Subqueries in SQL queryPossibility
of using subqueries (nested queries)
anywhere in SQL query.
• MySQL:No. starting from 4.1 release.
3-Sep-12 19
20. ORACLE vs MySQL
Declarative Integrity Constraints
• Integrity constraints defined
declaratively in SQL (e.g. in CREATE
TABLE statement) and executed by
DBMS.
Assessment
Product Grade
MySQL Average
3-Sep-12 Oracle Very good 20
21. ORACLE vs MySQL
Declarative Integrity Constraints
Primary key
• MySQL :Yes.
• Oracle:Yes.
Unique key
• MySQL :Yes.
• Oracle:Yes.
3-Sep-12 21
22. ORACLE vs MySQL
Declarative Integrity Constraints
Foreign key
• MySQL :No. FOREIGN KEY clause is
allowed for compatibility only
and has no effect on database
operation.
• Oracle:Yes. ON DELETE
CASCADE supported
Check
3-Sep-12 22
23. ORACLE vs MySQL
Programming Abstractions
Virtual SQL language structures as
views and synonyms.
Assessment
Product Grade
MySQL Poor
Oracle Very good
3-Sep-12 23
24. ORACLE vs MySQL
Programming Abstractions
Views:
A view is a tailored presentation of
the data contained in one or more
tables (or other views). A view
takes the output of a query and
treats it as a table; therefore, a
view can be thought of as a "stored
query" or a "virtual table". It
should be possible to use views in
3-Sep-12 24
25. ORACLE vs MySQL
Programming Abstractions
Updateable views:
Updateable view is a view which can
be used in DML (Data Manipulation
Language) statements for
modification of the data.
MySQL :No.But updateable VIEWs
based on single table or other
updateable VIEWs available from
MySql 5.0.1 release.
3-Sep-12 25
26. ORACLE vs MySQL
Programming Abstractions
Synonyms
A synonym is an alias for any table,
view or other object in database.
MySQL :No.
Oracle :Yes.
3-Sep-12 26
27. ORACLE vs MySQL
Default Values For Columns:
• In MySQL, for a column that does
not allow NULL value and for which
no data is provided for the column
when data is inserted into the
table, MySQL determines a default
value for the column.
• This default value is the implicit
default value for the column data
type.
3-Sep-12 27
28. ORACLE vs MySQL
Default Values For Columns:
• In Oracle, when data is inserted
into a table, data must be provided
for all columns that do not allow
NULL value.
• Oracle does not generate a default
value for columns that have the NOT
NULL constraint.
3-Sep-12 28
29. ORACLE vs MySQL
Triggers:
• Triggers are stored procedures
that automatically execute when a
database event occurs or a table
event occurs.
• Database events that fire triggers
include system startup and
shutdown, object creation, and user
logins and logouts.
• Table events: insertion, update, or
3-Sep-12 29
30. ORACLE vs MySQL
Triggers:
• Oracle fires triggers for both
database-level and table-level
events.
• MySQL does not support stored
procedures, it also does not
support triggers.
3-Sep-12 30
31. ORACLE vs MySQL
Triggers:
• Missing trigger capability is a
major shortcoming of MySQL.
• Database administrators rely
heavily on database-level triggers
to monitor database events.
• Application developers utilize
table-level triggers extensively to
ensure that data meets the business
requirements.
3-Sep-12 31
32. ORACLE vs MySQL
Security:
• Database security is a very
important aspect of any database
management system to protect
access to the database operations
and the data.
3-Sep-12 32
33. ORACLE vs MySQL
Security:
• Oracle implements security for
both users and roles.
• Roles provide a method of granting
privileges to many users with a
single GRANT statement, or revoking
privileges from many users with a
single REVOKE statement.
3-Sep-12 33
34. ORACLE vs MySQL
Security:
• MySQL uses the user name and host
to lookup the user’s privileges in
the system tables.
• The user table stores database-
level privileges to the user, and
other tables maintain object-level
privileges.
• An administrator creates users by
issuing GRANT statements, or by
3-Sep-12 34
35. ORACLE vs MySQL
Security:
• MySQL does not use roles or
groups to grant and revoke
privileges to multiple users in
individual statements.
• The absence of database roles is
another major drawback of MySQL.
• Without the ability to group users
into roles, the database
administrator will have do on
3-Sep-12 35
36. ORACLE vs MySQL
Replication:
• Replicating data is the process of
copying data, synchronously or
asynchronously, from one database
into another database.
• Oracle supports two-way
replication whereas MySQL
supports only one-way replication
from the master to the replica by
applying transaction log files to
3-Sep-12 36
37. ORACLE vs MySQL
Auditing:
• Oracle provides an auditing facility
to track individual users, database
statements, and object statements.
• MySQL does not provide auditing
capabilities.
3-Sep-12 37
38. ORACLE vs MySQL
Administration:
• Oracle provides for both hot and
cold backups, and includes the
Recovery Manager (RMAN) utility to
facilitate the backup process.
• Since MySQL stores data in
operating system files,
administrators perform cold
backups by simply copying the files.
3-Sep-12 38
39. CONCLUSION
• Oracle and MySQL perform at
similar levels in tests of response
times and throughput.
• But Oracle provides database
clustering to achieve improved
scalability and throughput, and
MySQL does not provide clustering.
3-Sep-12 39
Editor's Notes
Triggers firing before the operation can modify the values specified in the insert or update statement.In addition, triggers can fire once for every row affected, or only one time to process all rows affected by the insert, update, or delete statement.