- Overview
- Install
- Translating Quick SQL into Oracle SQL Data Definition Language (DDL)
- Transforming Quick SQL into an Entity-Relationship Diagram (ERD)
- Contributing
- Security
- License
Quick SQL is a markdown-like shorthand syntax that expands to standards-based Oracle SQL. It is useful to rapidly design and prototype data models. Take a look at the example below:
Previously, Quick SQL was only available within Oracle Application Express. This project reimplements the Quick SQL parser and translator into a JavaScript library which can be used in both NodeJS and the browser.
This repository also includes a Quick SQL to Entity Relationship Diagram module that can be used as seen in the example below:
npm install @oracle/quicksql
The Quick SQL to DDL translator is the product's core component, It allows users to transform a Quick SQL string into an Oracle SQL string.
The Quick SQL Syntax and Grammar are documented here
See below for examples of how to use this library.
import { toDDL } from "@oracle/quicksql";
import fs from "fs";
try {
const text = fs.readFileSync( './test/department_employees.quicksql' );
console.log( toDDL( text.toString() ) );
} catch( e ) {
console.error( e );
};
const { toDDL } = require( "@oracle/quicksql" );
const fs = require( "fs" );
try {
const text = fs.readFileSync( './test/department_employees.quicksql' );
console.log( toDDL( text.toString() ) );
} catch( e ) {
console.error( e );
};
<script type="module">
import { toDDL } from './dist/quick-sql.js';
document.body.innerText = toDDL(
`departments /insert 2
name /nn
location
country
employees /insert 4
name /nn vc50
email /lower
cost center num
date hired
job vc255
view emp_v departments employees
# settings = { "prefix": null, "semantics": "CHAR", "DV": false }
`
);
</script>
<script src="./dist/quick-sql.umd.cjs"></script>
<script>
document.body.innerText = quickSQL.toDDL(
`departments /insert 2
name /nn
location
country
employees /insert 4
name /nn vc50
email /lower
cost center num
date hired
job vc255
view emp_v departments employees
# settings = { "prefix": null, "semantics": "CHAR", "DV": false }
`
);
</script>
Requires a paid library. Review the usage here
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide
Please consult the security guide for our responsible security vulnerability disclosure process
Copyright (c) 2023 Oracle and/or its affiliates.
Released under the Universal Permissive License v1.0 as shown at https://oss.oracle.com/licenses/upl/.