Вы находитесь на странице: 1из 40

COMPARISON OF DBMS

CONTENTS

ORACLE MySQL
31-Aug-12 2

PRODUCTS FROM MySQL


License: GPL or Proprietory
Edition Price (1 year)
Free $2000 $5000

Community edition Standard edition Enteprise edition

Cluster CG Edition
31-Aug-12

$10000
3

PRODUCTS FROM ORACLE


License: Proprietory
Edition Standard Edition Enterprise edition Express edition
31-Aug-12

Price $70 $950 Free


4

ORACLE vs MySQL
Max rows and columns MySQL
Oracle
Rows = 65534 Columns = 3398 Rows = Unlimited Columns = 1000

31-Aug-12

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 Oracle Internet Server (IAS) for specialized version of Apache http server

31-Aug-12

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 into rows

31-Aug-12

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 export utilities
31-Aug-12 8

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 Oracle = YES
31-Aug-12 9

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 query using a left outer join with the same query using a right outer join. Coding the same query twice, changing only the outer join from left to right in the two queries, is inefficient and redundant.
31-Aug-12 10

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 inserted into a table. Very often we would like the value of the primary key field to be created automatically every time a new record is inserted.
31-Aug-12 11

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.

31-Aug-12

12

ORACLE vs MySQL
Both Oracle and MySQL have memory leaks problem.

Oracle is better with memory leaks and handles multiple threads.

31-Aug-12

13

ORACLE vs MySQL
Elementary Features: Basic data types SQL language features Declarative integrity constraints Programming abstractions

31-Aug-12

14

ORACLE vs MySQL
Basic Data Types
Assessment:

Product MySQL Oracle

Grade Good Average

31-Aug-12

15

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. int,double,numberic,datetime,date.

31-Aug-12

16

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 VARCHAR2 it is 4,000 bytes.number(10,0),float(24), number, date.
31-Aug-12 17

ORACLE vs MySQL
SQL Language Features
Assessment: Product MySQL Oracle Grade Average Good

31-Aug-12

18

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. Oracle8:Uncorrelated and correlated subqueries allowed. Queries can be nested up to 255 levels.
31-Aug-12

19

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 Oracle Very good
31-Aug-12 20

ORACLE vs MySQL
Declarative Integrity Constraints
Primary key MySQL Oracle Unique key MySQL Oracle
31-Aug-12

:Yes. :Yes.

:Yes. :Yes.
21

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 MySQL :No. CHECK clause is allowed for compatibility only and has no effect on database operation. Oracle :Yes.
31-Aug-12

22

ORACLE vs MySQL
Programming Abstractions Virtual SQL language structures as views and synonyms. Assessment Product Grade MySQL Poor Oracle Very good

31-Aug-12

23

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 most places where a table can be used. MySQL :No.But Yes in version 5 and higher Oracle :Yes.
31-Aug-12

24

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. Oracle :Yes.
31-Aug-12 25

ORACLE vs MySQL
Programming Abstractions
Synonyms A synonym is an alias for any table, view or other object in database. MySQL :No. Oracle :Yes.

31-Aug-12

26

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. However, if the strict mode is enabled, MySQL generates errors, and for transactional tables it rolls back the insert statement.
31-Aug-12 27

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.

31-Aug-12

28

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 deletion of one or more rows. For tables, the triggers can fire before or after the operations.
31-Aug-12 29

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.

31-Aug-12

30

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. However, release 5.0 included triggers.
31-Aug-12 31

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.

31-Aug-12

32

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.

31-Aug-12

33

ORACLE vs MySQL
Security: MySQL uses the user name and host to lookup the users 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 inserting values directly into the user table.
31-Aug-12 34

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 individual or rely on other methods.
31-Aug-12 35

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 the replica database.

31-Aug-12

36

ORACLE vs MySQL
Auditing: Oracle provides an auditing facility to track individual users, database statements, and object statements. MySQL does not provide auditing capabilities.

31-Aug-12

37

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.

31-Aug-12

38

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.

31-Aug-12

39

Вам также может понравиться