DDL and Schema Objects
Tables and constraints
CREATE TABLE defines columns with data types (VARCHAR2, NUMBER, DATE, CHAR, TIMESTAMP) and constraints: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY with ON DELETE CASCADE or SET NULL, and CHECK. ALTER TABLE adds, modifies, or drops columns and constraints. TRUNCATE removes all rows quickly and is DDL. A NOT NULL column added to a populated table needs a DEFAULT.
Views, sequences, synonyms, indexes
A simple view draws on one table with no functions or grouping and is usually updatable; a complex view (joins, group functions, DISTINCT) is read-only. WITH READ ONLY and WITH CHECK OPTION constrain DML through the view. Sequences generate numbers: NEXTVAL increments, CURRVAL returns the last value issued in your session and errors if called before NEXTVAL. CACHE, CYCLE, and INCREMENT BY control behaviour. Synonyms are aliases - public ones are visible to all users. Indexes speed access; Oracle automatically indexes PRIMARY KEY and UNIQUE constraints, and a composite index is usable only when its leading column is referenced.
Traps
A view containing a group function cannot be used for DML. Dropping a parent table with dependent foreign keys fails unless you use CASCADE CONSTRAINTS. Truncating a parent table does not fire ON DELETE CASCADE. Sequence values can gap after a rollback because caching is not transactional.
Worked example
CREATE SEQUENCE emp_seq START WITH 100 INCREMENT BY 10 CACHE 20 NOCYCLE; then INSERT INTO t VALUES (emp_seq.NEXTVAL);