实际工作中数据库管理员和程序员之间的工作边界是如何划分的?
说一下我遇到的问题。本人不是做软件开发的。只是在用matlab是偶然需要用到连接数据库取数据。接触了一下数据库。大致流程就是在通过matlab代码连接ODBC,用户名密码,连接成功后,将sql查询的字符串(我觉得是传的字符串,如不对请指正。)传给数据库,数据库返回查询结果。断开ODBC连接。之所以我上面认为传的是字符串,是因为那段代码并不是matlab语言的代码,而是纯粹的sql代码。
问题:由于我对数据库查询不了解,因此matlab中的查询都是我把需求告诉数据库管理员。他告诉我。我加到matlab代码中的。因此完全是拿来主义。不知道在大多数公司使用数据库数据的程序员(后文将其命名为用户)和数据库管理员(后文将其命名为管理员)之间的工作边界是如何划分的?按照专业人做专业事的原则,似乎像我上文所述,用户直接把查询需求告诉管理员。管理员把写好的查询语句告诉用户,用户自己加到相关代码里面比较好。
理由,有些跨表查询本身就比较复杂,用户并不一定知道数据库中表的结构,即便知道,在设计查询语言方面应该也没有数据库管理员熟悉。设计出的查询语言查询效率,避免漏查方面应该没有数据库管理员强吧?按照术业有专攻,效率最大化原则,似乎应该由管理员设计查询语句后交给用户比较合里。但是不知道在实际工作中到底谁来编写查询语句?