Where is the dividing line between developers and DBAs?
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
Can you give a link to the thread you refer to? I've been busy the last couple of weeks and haven't had time to log on to CP.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
Whoever is developing the software needs significant input into the schema as it's what you're coding to. However, I'd make every use I could of DBAs if they're available, since this is their area of expertise. The problem that probably arises most is a "turf wars" issue, where DBAs want complete control just because it's "their thing". On a somewhat related note, I'm wondering if anyone can point me to the most appropriate place to post a question regarding the developer edition of SQL Server 2005 that ships with VS 2005. Seems to install with windows authentication, and I can't find any way at all to set it to mixed mode. Since we don't really have a database message board, I'm not sure where the best place for such queries is. Come to think of it, perhaps we should have a Database message board. Even though most of the folks here aren't DBAs, we certainly have to deal with databases on a regular basis. What do you think?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Whoever is developing the software needs significant input into the schema as it's what you're coding to. However, I'd make every use I could of DBAs if they're available, since this is their area of expertise. The problem that probably arises most is a "turf wars" issue, where DBAs want complete control just because it's "their thing". On a somewhat related note, I'm wondering if anyone can point me to the most appropriate place to post a question regarding the developer edition of SQL Server 2005 that ships with VS 2005. Seems to install with windows authentication, and I can't find any way at all to set it to mixed mode. Since we don't really have a database message board, I'm not sure where the best place for such queries is. Come to think of it, perhaps we should have a Database message board. Even though most of the folks here aren't DBAs, we certainly have to deal with databases on a regular basis. What do you think?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
For enabling mixed mode (I assume you mean SQL & Windows authentication, I'm not much of a DBA myself). Get yourself a copy of SQL Express Management Studio, this works with all editions of SQL Server 2005 AFAIK, certainly does on my similar setup to yours. You can then log in using Windows authentication and change the settings, should be fairly obvious after a bit of poking around in the interface.
If you're stuck in a rut: 1) Consult the documentation* 2) Google it 3) Ask a sensible question 4) Try an ancient ritualistic knowledge summoning (:badger::badger::badger:) dance :jig: 5) Phone :bob: * - If the documentation is MSDN > 6.0 then forget it!
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
All of the "pure" DBAs I've worked with have wanted nothing less then complete control of the database, and when I've worked with them the've caused more development problems then they've fixed. Of course that was in an enterprise environment and the development and dba teams practically reported to different VPs.
Using the GridView is like trying to explain to someone else how to move a third person's hands in order to tie your shoelaces for you. -Chris Maunder
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
In my current position I ask the DBA for guidance when needed. The developers code all the SQL and it is his job to approve our work. Basically he points out any red flags. He also, takes care of indexing, tuning, back ups and all other administrative tasks.
how vital enterprise application are for proactive organizations leveraging collective synergy to think outside the box and formulate their key objectives into a win-win game plan with a quality-driven approach that focuses on empowering key players to drive-up their core competencies and increase expectations with an all-around initiative to drive up the bottom-line. But of course, that's all a "high level" overview of things --thedailywtf 3/21/06
-
Whoever is developing the software needs significant input into the schema as it's what you're coding to. However, I'd make every use I could of DBAs if they're available, since this is their area of expertise. The problem that probably arises most is a "turf wars" issue, where DBAs want complete control just because it's "their thing". On a somewhat related note, I'm wondering if anyone can point me to the most appropriate place to post a question regarding the developer edition of SQL Server 2005 that ships with VS 2005. Seems to install with windows authentication, and I can't find any way at all to set it to mixed mode. Since we don't really have a database message board, I'm not sure where the best place for such queries is. Come to think of it, perhaps we should have a Database message board. Even though most of the folks here aren't DBAs, we certainly have to deal with databases on a regular basis. What do you think?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
While most of the posts on the SQL / ADO ... board[^] are mostly related to getting some piece of SQL to function properly, I'd be surprised if you got flak for posting admin type questions there.
Chris Meech I am Canadian. [heard in a local bar] Nobody likes jerks. [espeir] The zen of the soapbox is hard to attain...[Jörgen Sigvardsson] I wish I could remember what it was like to only have a short term memory.[David Kentley]
-
While most of the posts on the SQL / ADO ... board[^] are mostly related to getting some piece of SQL to function properly, I'd be surprised if you got flak for posting admin type questions there.
Chris Meech I am Canadian. [heard in a local bar] Nobody likes jerks. [espeir] The zen of the soapbox is hard to attain...[Jörgen Sigvardsson] I wish I could remember what it was like to only have a short term memory.[David Kentley]
:doh: Do you know how many times I stared at that little green "message boards" menu and didn't see the letters "SQL"? Thanks, man. Now if you'll all excuse me, I'm going to go find a coffee pot and immerse my head in it.
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
If most developers were to implement schemas, they would be butchered, unrelational, messes. I don't think most developers understand that a schema models data in a way that emphasizes relationships and collections, whereas a class is intended to encapsulate and manipulate aspects of the data that can easily involve many discrete tables. On the other hand, I've worked with DB people that simply provide a class for each table in the schema. That's just as useless. From my experience, whoever develops the schema should know a lot about DB's, especially regarding optimizations, etc. They should also adhere to strict rules--use constraints, etc. And whoever develops the classes that interface with the DB needs to work WITH the DB person in order to determine those tables and relations from both the perspective of the data management and the data use. Sometimes data management and data use can cause a tension in the design. If that's one person, then great, but non-communication between the DB group and the programming group (which I've experienced) will be a disaster for the project.
Mike Dimmick wrote:
Do you write stored procedures, or does the DBA do it?
I've never been fond of stored procedures, and I've typically done both the schema, SQL, and classes.
Mike Dimmick wrote:
Do you prefer writing queries as strings in the program text
Yuck! I've always externalized the SQL. So, while I don't use stored procedures, I put the SQL into a separate file.
Mike Dimmick wrote:
so you don't have to ask the DBA to add a stored procedure
Nowadays I don't even write SQL. I have an SQL generator that figures out what the SQL should be given the schema and what I want to do with it. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith -
For enabling mixed mode (I assume you mean SQL & Windows authentication, I'm not much of a DBA myself). Get yourself a copy of SQL Express Management Studio, this works with all editions of SQL Server 2005 AFAIK, certainly does on my similar setup to yours. You can then log in using Windows authentication and change the settings, should be fairly obvious after a bit of poking around in the interface.
If you're stuck in a rut: 1) Consult the documentation* 2) Google it 3) Ask a sensible question 4) Try an ancient ritualistic knowledge summoning (:badger::badger::badger:) dance :jig: 5) Phone :bob: * - If the documentation is MSDN > 6.0 then forget it!
Ed, That did the trick, thanks man. I find it somewhat bizarre that this tool doesn't ship with VS 2005. Or I should say that I would, if I hadn't been in this business for so long... :rolleyes:
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Whoever is developing the software needs significant input into the schema as it's what you're coding to. However, I'd make every use I could of DBAs if they're available, since this is their area of expertise. The problem that probably arises most is a "turf wars" issue, where DBAs want complete control just because it's "their thing". On a somewhat related note, I'm wondering if anyone can point me to the most appropriate place to post a question regarding the developer edition of SQL Server 2005 that ships with VS 2005. Seems to install with windows authentication, and I can't find any way at all to set it to mixed mode. Since we don't really have a database message board, I'm not sure where the best place for such queries is. Come to think of it, perhaps we should have a Database message board. Even though most of the folks here aren't DBAs, we certainly have to deal with databases on a regular basis. What do you think?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
Try: http://www.codeproject.com/script/comments/forums.asp?forumid=1725[^] and or: http://www.sssolv.com/[^] During installation you should at some point be asked if you wish your instance of SQL Server 2005 to use mixed mode or windows authentication. If not, then your instances has not properly installed.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
-
Try: http://www.codeproject.com/script/comments/forums.asp?forumid=1725[^] and or: http://www.sssolv.com/[^] During installation you should at some point be asked if you wish your instance of SQL Server 2005 to use mixed mode or windows authentication. If not, then your instances has not properly installed.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
Thanks, Jerry!
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Can you give a link to the thread you refer to? I've been busy the last couple of weeks and haven't had time to log on to CP.
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
Where I work, I have to pull data into a data warehouse from SQLServer, Ingres, Oracle and a third party system. The data is pulled from multiple physical locations: local site, corporate, other production facilities. All of the data is gathered via queries: stored procedures, in-line code, DTS packages. Because of the differing natures of the data sources, we, the developers, choose to write the queries ourselves. Locally, the DBA tends to oversee the databases (maintenance, tuning, etc), but is not very involved in schema creation. Having a local DBA smooths the process of obtaining access to local data sources as well. Getting access to data sources that are not local sometimes seem likes an act of congress... Tim
-
Here yea go Now THAT's marketng!!![^]
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
Thank you :)
"We've all heard that a million monkeys banging on a million typewriters will eventually reproduce the entire works of Shakespeare. Now, thanks to the internet, we know this is not true." -- Professor Robert Silensky
-
Ed, That did the trick, thanks man. I find it somewhat bizarre that this tool doesn't ship with VS 2005. Or I should say that I would, if I hadn't been in this business for so long... :rolleyes:
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
I don't think it ships with VS because it originally started out as a pet project by one of the developers. The full blown edition does make it into > Developer edition of SQL Server I think. Others have to suffice with the express, but it does everything I need.
If you're stuck in a rut: 1) Consult the documentation* 2) Google it 3) Ask a sensible question 4) Try an ancient ritualistic knowledge summoning (:badger::badger::badger:) dance :jig: 5) Phone :bob: * - If the documentation is MSDN > 6.0 then forget it!
-
In the thread on SQL Prompt, DreadPirateRoberts said: "The intellisense does work, but not 100%. With the cryptic names our genius DBA's gave the table and column names (we just CAN'T teach those old dogs new tricks), it does help a lot." We don't have a DBA. Several of our customers don't have them either. As a result, I don't have very much experience with working with DBAs. But to me, the responsibility for designing the logical database schema should belong with the developers of the software. The DBA should perhaps have some input, if producing custom (not packaged) software, because he can make recommendations about how the database will handle particular queries - but unless he's a domain expert, he shouldn't be in charge of the schema. The physical deployment of that schema - how tables are partitioned, which disks they go on, where the indexes live and which indexes are created - does fall under the DBA's responsibilities. I wouldn't expect a developer, in an installation where there is a DBA, to be doing these tasks. Well, maybe making recommendations for indexes. I suppose if your software is one of many applications/systems querying a single data set, then the requirements of all applications need to be taken into account in a schema, but I think that's something that needs to be co-ordinated with the various development teams rather than something the DBA does. Maybe if you're adding a new application to an existing schema? Thoughts? Experiences with DBAs? Do you write stored procedures, or does the DBA do it? Do you prefer writing queries as strings in the program text, so you don't have to ask the DBA to add a stored procedure?
Stability. What an interesting concept. -- Chris Maunder
In a perfect world, the DBA would determine the schema since he or she would be aware of how that schema fit into all the other schemas in use. More importantly, the DBA would understand performance and other issues. In reality, DBAs are an even more mixed bag than developers. Far too many have learned that as long as the database stays apparently stable, they are "experts." I have worked with top notch DBAs and its like working with experts in any field; refreshing and extremely valuable. Concerning stored procedures; one setup that can work well is to have the application developers write code to get the database to work and then for the DBAs and database specialists to write the stored procedures and to optimize the SQL statements and tables.
Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
If most developers were to implement schemas, they would be butchered, unrelational, messes. I don't think most developers understand that a schema models data in a way that emphasizes relationships and collections, whereas a class is intended to encapsulate and manipulate aspects of the data that can easily involve many discrete tables. On the other hand, I've worked with DB people that simply provide a class for each table in the schema. That's just as useless. From my experience, whoever develops the schema should know a lot about DB's, especially regarding optimizations, etc. They should also adhere to strict rules--use constraints, etc. And whoever develops the classes that interface with the DB needs to work WITH the DB person in order to determine those tables and relations from both the perspective of the data management and the data use. Sometimes data management and data use can cause a tension in the design. If that's one person, then great, but non-communication between the DB group and the programming group (which I've experienced) will be a disaster for the project.
Mike Dimmick wrote:
Do you write stored procedures, or does the DBA do it?
I've never been fond of stored procedures, and I've typically done both the schema, SQL, and classes.
Mike Dimmick wrote:
Do you prefer writing queries as strings in the program text
Yuck! I've always externalized the SQL. So, while I don't use stored procedures, I put the SQL into a separate file.
Mike Dimmick wrote:
so you don't have to ask the DBA to add a stored procedure
Nowadays I don't even write SQL. I have an SQL generator that figures out what the SQL should be given the schema and what I want to do with it. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh SmithMarc Clifton wrote:
Nowadays I don't even write SQL. I have an SQL generator that figures out what the SQL should be given the schema and what I want to do with it.
Care to share with the rest of the class? :)
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
-
Marc Clifton wrote:
Nowadays I don't even write SQL. I have an SQL generator that figures out what the SQL should be given the schema and what I want to do with it.
Care to share with the rest of the class? :)
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
S Douglas wrote:
Care to share with the rest of the class?
At some point. It's not a simple article. Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith