# Data Definition Language, Database Schema and DDL Compiler

> An eXtremeDB database schema is specified in Data Definition Language (DDL) or in native Java or C# class definitions. For C and C++ applications the DDL specification identifies the `database`, defines each data `class`, its elements (called `fields`), its relationship to other data classes, and the data access methods used to locate objects of this `class`. The DDL syntax, keywords and preprocessor are designed to be similar to elements of the C/C++ language to simplify learning and understanding. (Please use this link to view a detailed presentation of the DDL.)

> For C and C++ applications, the schema definition file, an ascii text file usually with extension `.mco`, is compiled by the schema compiler `mcocomp` into two C source files (a header dbname.h and implementation dbname.c file ), and one additional C++ file dbname.hpp if the `-cpp` or `-hpp` command line option is specified. These source files are included in the project to be compiled and linked to the other application source files.

> The SDK Samples demonstrate numerous schema implementations using each of the APIs. We recommend the Building and Running SDK Samples tutorial to quickly gain familiarity with the build process for your development environment.