query language declarative relational relational database dsl data sublanguage