DDLs and DMLs are two strict groups of kinds of claims employed for getting together with a database. I don't know why this categorization is available.

It is possible to fundamental difference in the manner an Oracle database works internally regarding a DDL and DML statement?

One major (technical) distinction between DDL and DML in Oracle is, that DDL is not transactional, i.e. they can't be folded back and do not need a commit. Ought to be fact DDL in Oracle does an implicit commit of all time performed.

Other databases (e.g. Postgres, DB2) don't really make a difference in relation to transactions between DDL and DML

In the end it is simply a categorization, like the terms "application" and "server" (as with database server). From a practical perspective, OpenOffice and Oracle are generally simply "programs", and yet we classify them into different groups.

DDL claims are utilized to define database structures, objects, and schemas whereas DML claims can be used for controlling data within schema objects. In the finish during the day, Oracle (o r every other data management system) would process each kind statement based on security permissions and object availability (i.e. locks on tables / sights and isolation levels).

Also, schema definitions are locked in internal master tables so that your DDL claims really modify the data saved in individuals tables and possibly can be viewed as "master DML" claims for the reason that sense.

In case your question comes down to "it is possible to reason it's necessary for DDL and DML to "be implemented in a different way", the reply is "NO".

However, the definers from the SQL language have elected to make DDL syntactically distinct. As a result, adding a column to some table should be carried out by the right ALTER TABLE command. A side-effect of this command is the fact that a row will get placed within the catalog table that documents all posts. Stress side-effect.

But there's no fundamental reason the insertion of the row within the catalog table couldn't be the trigger itself for that column addition, thus entirely getting rid of the requirement for any "devoted DDL".