Page 1 of 3 123 LastLast
Results 1 to 15 of 38
  1. #1
    Join Date
    Nov 2003
    Posts
    76

    Unanswered: Never work as system engineer.

    Just letting my frustration out here.

    I am currently working with a DB that has 360 tables.
    No constant naming convention at all.
    There are no diagram or documentation on DB. PK are all named ID and FK needs to be guessed for each table.

    Some tables have kind of consistansy I thought (i.e Tablename_ID as FK) then kind to find out the same table has tablename_ID as a field making them connect to them self.

    Looked through data and found fields that has same data but couldn't create constraint because both fields are different length and connected through a crappy program.

    No wonder there are problems with replication.

    Darn it sucks to fix some programmes mistake. Especially when there is 360 tables.

  2. #2
    Join Date
    Nov 2002
    Location
    Jersey
    Posts
    10,322
    Do you have ERWin or VISIO 2000 PRO?

    What about the SQL Server diagram itself?

    How about scripting all the objects at least as a reference?

    Or how about:

    SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'Order Details'


    Sorry and Good Luck
    Brett
    8-)

    It's a Great Day for America everybody!

    dbforums Yak CorralRadio 'Rita
    dbForums Member List
    I'm Good Once as I ever was

    The physical order of data in a database has no meaning.

  3. #3
    Join Date
    Nov 2003
    Posts
    76
    I can't do it without re doing the field length to match.
    DB is created with user defined data types and I do have to change either to base data types or change used defined types length to do anything, and of course IT-manager is an accountant that says we wouldn't pass auditing if I change anything on DB structure even just for the diagram, and all against doing so.

    It's bull and frustrating.

    To do in SQL Diagram I have to change fields to match and cannot do it because IT-manager is against it. So I am using DDT free software tool for this diagram only. Not even worth asking them to buy ERWin. I could use visio but then all I end up with same frustration.

    It is frustrating to have an IT-manager who don't understand anything about DB.

    I am in a situation where I have to go with IT-managers decission and frustration.

    EDIT: SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'Order Details'

    to do that there should be some thing there. Programmers created it like a access database without any constraints. So It is an option I can't do.
    Last edited by sivaroo; 11-25-03 at 17:05.

  4. #4
    Join Date
    Nov 2002
    Location
    Jersey
    Posts
    10,322
    Want ads?

    Monster?

    Hot Jobs?
    Brett
    8-)

    It's a Great Day for America everybody!

    dbforums Yak CorralRadio 'Rita
    dbForums Member List
    I'm Good Once as I ever was

    The physical order of data in a database has no meaning.

  5. #5
    Join Date
    Nov 2003
    Posts
    3

    sorry dude

    I think most people don't know jack about databases, including programmers.

    You have my sympathy.

  6. #6
    Join Date
    Jan 2003
    Location
    Massachusetts
    Posts
    5,800
    Provided Answers: 11
    How nice it would be to have a command like:

    alter job drop constraint [IT Manager]

  7. #7
    Join Date
    Nov 2003
    Posts
    76
    I am going to try to stay here and fix this crp before thinking about looking for another job.

    Thanks for the sympathy guys/girls..

    MCrowley thanks for making me laugh.

    alter job drop constraint [IT Manager] ...LMAO

  8. #8
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    Provided Answers: 1
    "I am going to try to stay here and fix this crp before thinking about looking for another job."

    Why? You are dealing with a situation that cannot be fixed. You can't fix the system without modifying the system, and they won't let you modify the system. This means your sole duty will be to track down and fix bad records and manually transfer data when replication fails...for the next 10 or 15 years until the system gives up the ghost (for which you will be blamed). I hope you don't expect appreciation for this, as your primary job description is scape-goat. Meanwhile your skills will whither away and you will be walking around with such a huge and growing chip on your shoulder that nobody else will hire you.

    Dump the bastards and let the F'ing VB developers maintain their own crappy database.

    blindman

  9. #9
    Join Date
    Nov 2003
    Posts
    76
    The front end is in Delphi. I have seen some VB people create way much better than this.

    Actually I am looking around for another job but not seeking hard.

    Here is a script on what I am dealing with.


    Look for ID on Contact and then FK contact_ID on customer and contact history.

    CREATE TABLE [dbo].[Contact] (
    [ID] [varchar] (13) NOT NULL ,
    [RowGUID] uniqueidentifier ROWGUIDCOL NOT NULL ,
    [Customer_ID] [varchar] (14) NULL ,
    [Maker_ID] [varchar] (14) NULL ,
    [Name] [varchar] (45) NULL ,
    [Company_Name] [varchar] (45) NULL ,
    [Last_Name] [varchar] (20) NULL ,
    [First_Name] [varchar] (20) NULL ,
    [Middle_Initial] [varchar] (1) NULL ,
    [Street] [varchar] (35) NULL ,
    [City] [varchar] (20) NULL ,
    [State] [varchar] (2) NULL ,
    [Zip] [varchar] (11) NULL ,
    [Phone_1] [varchar] (14) NULL ,
    [Phone_1_Ext] [varchar] (10) NULL ,
    [Phone_2] [varchar] (14) NULL ,
    [Phone_2_Ext] [varchar] (10) NULL ,
    [SSN] [varchar] (11) NULL ,
    [DOB] [datetime] NULL ,
    [Notes] [text] NULL ,
    [ID_Type] [varchar] (40) NULL ,
    [ID_Number] [varchar] (40) NULL ,
    [ID_Type_2] [varchar] (40) NULL ,
    [ID_Number_2] [varchar] (40) NULL ,
    [Location_ID] [TLocationID] NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


    CREATE TABLE [dbo].[ContactHistory] (
    [Contact_ID] [varchar] (14) NOT NULL ,
    [ID] [varchar] (14) NOT NULL ,
    [RowGUID] uniqueidentifier ROWGUIDCOL NOT NULL ,
    [Date] [datetime] NULL ,
    [Time] [datetime] NULL ,
    [Collector] [varchar] (3) NULL ,
    [Contact] [varchar] (5) NOT NULL ,
    [Type] [varchar] (3) NULL ,
    [Description] [varchar] (75) NULL ,
    [Notes] [text] NULL ,
    [NotesExist] [TLogical] NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


    CREATE TABLE [dbo].[Customer] (
    [ID] [TID] NOT NULL ,
    [RowGUID] uniqueidentifier ROWGUIDCOL NOT NULL ,
    [Contact_ID] [TID] NULL ,
    [Maker_ID] [TID] NULL ,
    [Name] [TLongName] NULL ,
    [Last_Name] [TShortName] NULL ,
    [First_Name] [TShortName] NULL ,
    [Middle_Initial] [TChar] NULL ,
    [Address_1] [TAddress] NULL ,
    [Address_2] [TAddress] NULL ,
    [City] [TCity] NULL ,
    [State_ID] [TState] NULL ,
    [Zip] [TZipCode] NULL ,
    [Primary_Phone] [TPhone] NULL ,
    [Gender] [TChar] NULL ,
    [Birthday] [datetime] NULL ,
    [Height] [THeight] NULL ,
    [Weight] [int] NULL ,
    [Color_Eyes] [TShortID] NULL ,
    [Color_Hair] [TShortID] NULL ,
    [Description_ID] [TShortID] NULL ,
    [SSN] [TSSN] NULL ,
    [User_ID] [TUserID] NULL ,
    [Barcode_ID] [TBarCodeID] NULL ,
    [Notes] [text] NULL ,
    [Image_Face] [image] NULL ,
    [Image_Signature] [image] NULL ,
    [TelephoneInName] [TLogical] NOT NULL ,
    [TelephoneVerified] [TLogical] NOT NULL ,
    [TelephoneCurrent] [TLogical] NOT NULL ,
    [ResidenceOwned] [TLogical] NOT NULL ,
    [ResidenceMonths] [int] NULL ,
    [CreditReportDate] [datetime] NULL ,
    [CreditBankrupt] [TLogical] NOT NULL ,
    [CreditBankruptDate] [datetime] NULL ,
    [CreditBankruptDescription] [TDescription] NULL ,
    [CreditTrades] [int] NULL ,
    [CreditCurrentLine] [money] NULL ,
    [CreditPastDue] [money] NULL ,
    [CreditLegalActions] [int] NULL ,
    [CreditTotalJudgements] [money] NULL ,
    [CreditGarnishment] [money] NULL ,
    [BankHasPaperwork] [TLogical] NOT NULL ,
    [BankDateOpened] [datetime] NULL ,
    [MembershipExpiration] [datetime] NULL ,
    [Secondary_Phone] [TPhone] NULL ,
    [MailboxExpirationDate] [datetime] NULL ,
    [SpouseName] [TLongName] NULL ,
    [Landlord] [TLongName] NULL ,
    [LandlordPhone] [TPhone] NULL ,
    [CreditLegalActionsResolved] [TLogical] NULL ,
    [CreditBankruptDischarged] [datetime] NULL ,
    [Location_ID] [TLocationID] NULL ,
    [DriverLicense_ID] [TLicenseNum] NULL ,
    [ResidenceAmount] [money] NULL
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


    Here are some User defined types that is mixed and matched in db

    EXEC sp_addtype N'TID', N'varchar (14)', N'null'
    EXEC sp_addtype N'TLogical', N'tinyint', N'not null'
    EXEC sp_addtype N'TLongName', N'varchar (50)', N'null'
    EXEC sp_addtype N'TName', N'varchar (30)', N'null'
    EXEC sp_addtype N'TPhone', N'varchar (20)', N'null'
    EXEC sp_addtype N'TSSN', N'varchar (11)', N'null'
    EXEC sp_addtype N'TShortID', N'varchar (3)', N'null'
    EXEC sp_addtype N'TChar', N'char (1)', N'null'

  10. #10
    Join Date
    Oct 2003
    Posts
    706

    Red face

    Welcome to the industry. You'll find this everywhere.

    Once a database has been installed and put into service, a tremendous web of dependent software builds up around it such that the slightest change can break the system in quite unpredictable ways. Although every programmer wants to "scrap the system and start it all over, done right," that's not possible. For a whole lot of compelling (if not always desirable) reasons.

    Your decision to "stick with the situation" rather than jumping ship is actually quite admirable. And it will turn out to be wise. You see, with this move you are immediately reacting differently from what most, perhaps more-junior programmers do. And the more that you demonstrate the ability to stick with the job until it is done, no matter how disgusting the code may be to your sense of sensibilities, the more the business will beat a path to your door.

    The world's full of whiz-bang hot-shot programmers who pop out of college and/or Microsoft Certification classes thinking they know buck-everything, if the companies they (briefly) work for weren't so clueless about the "obvious" need to scrap everything and start over doing it The Right (according to them) Way ... oh, the world's full of people like that. . .

    People who can wade into an existing ("legacy") system, and understand it and fix it "just one more time," are, well, they are very gainfully employed.
    Last edited by sundialsvcs; 11-25-03 at 19:19.
    ChimneySweep(R): fast, automatic
    table repair at a click of the
    mouse! http://www.sundialservices.com

  11. #11
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    Provided Answers: 1
    Sundial, you are so unbelievably full of crap.

    sivaroo, your decision to stick with the situation would be admirable if you were given the authority to make the decisions you need to make. Otherwise, you are nothing but a scape-goat who sacrifies his own career to mask the incompetence of others.

    You are going to be blamed for every glitch that occurs in this system, but you won't be allowed to fix it because the developers are sure they know better. As a result, you are going to end up with a bad reputation within the company. When it comes time to hand out raised, they won't remember the fact that you were in the office until 2 a.m. last week fixing a problem, but they will remember that your database broke and their users were off-line for two hours.

    Business won't beat a path to your door, because nobody respects a schmuck.

    A whiz-bang hot-shot programmer fresh out of college is exactly the type of person a company like yours is looking for. Someone with good technical knowledge who is naive about business politics.

    You don't owe any loyalty to this company, and they won't show any to you. Either they need to give you the authority to do your job, or they need to learn from their own mistakes.

    Welcome to the real world.

    blindman

  12. #12
    Join Date
    Nov 2003
    Location
    Christchurch, New Zealand
    Posts
    1,618
    Ahh, this conversation is so amusing....

    The last statement says it all though,... welcome to the real world,...

    This is the world where despite what you know someone above you will think they know more and make bad decisions that you have to abide by unless you want to start looking for another job.

    Managers often think they know more then the developers about they way things should be done. Programmer a. believes in one design philosphy and programmer b. in another... this is the real world...

    Jobs like this are all over the place... cleaning up or maintaining other peoples mess may be a boring, frustrating thing to do but atleast it is a job... is it any worse then having to write code or an application in a manner that you know is bad because the IT Manager read an article in the latest PC World mag that says this is the way it should be done,... who can tell.

    You do the shit jobs so that you can move on and do the decent ones... if you stay in one place and do a job you hate for too long then you are only screwing yourself, especially if there is no light at the end of the tunnel, but if you move on because the job is too boring then you will soon find yourself out of places that you haven't worked for....

  13. #13
    Join Date
    May 2003
    Location
    Stockholm, Sweden
    Posts
    2
    Originally posted by rokslide
    is it any worse then having to write code or an application in a manner that you know is bad because the IT Manager read an article in the latest PC World mag that says this is the way it should be done
    It's amusing bordering to psychotic when there has been a strategic decision to bann SP:s, but that all SQL should be hard coded into the application, such as:

    Dim sSQL1 As String
    Dim sSQL2 AS String
    ' etc

    sSQL1 = "SELECT [...]" & _
    "[some more sql]"
    sSQL1 = sSQL1 & "FROM [...]"

    sSQL2 = "UNION [even more sql]"

    rsData.Open sSQL1 & sSQL2 & sSQL3 & sSQL4 & sSQL5 & sSQL6 & sSQL7


    Only that the string concatination goes on for hundreds of lines for a single query.

    Or am I just being lucky not having encountered that style of programming before? :-p

  14. #14
    Join Date
    Jul 2003
    Location
    The Dark Planet
    Posts
    1,401
    Originally posted by sundialsvcs
    Once a database has been installed and put into service, a tremendous web of dependent software builds up around it such that the slightest change can break the system in quite unpredictable ways. Although every programmer wants to "scrap the system and start it all over, done right," that's not possible. For a whole lot of compelling (if not always desirable) reasons.
    The same questions arise again :

    1. Wasnt the database designed keeping future requirements in mind ?
    2. Is the database normalized ???
    and so on

    Originally posted by sundialsvcs
    Your decision to "stick with the situation" rather than jumping ship is actually quite admirable. And it will turn out to be wise. You see, with this move you are immediately reacting differently from what most, perhaps more-junior programmers do. And the more that you demonstrate the ability to stick with the job until it is done, no matter how disgusting the code may be to your sense of sensibilities,[/i] the more the business will beat a path to your door.
    Thats the most funny and humorous thing I have ever heard in the past month ...sundial ... are you a manager or a programmer??? You certainly are talking like a manager. Working under constraints and even then getting blamed for the job ... and that will demonstrate the ability to stick with the job until it is done .. total c#$p. I agree with blindman here : nobody remembers your successes , a single failure will be remembered forever.

    Originally posted by sundialsvcs
    People who can wade into an existing ("legacy") system, and understand it and fix it "just one more time," are, well, they are very gainfully employed.
    Yup ... sure ... and they remain in the same state ... dont learn anything new ... while the whiz-bang hot-shot programmers who pop out of college and/or Microsoft Certification classes get to the top of the world
    Get yourself a copy of the The Holy Book

    order has no physical Brett in The meaning of a Kaiser . -database data

  15. #15
    Join Date
    Nov 2003
    Location
    Brisbane Australia
    Posts
    5
    Yes Interesting discussion. For me to tackle the db diagram situation I would take a copy of the database and add the constraints in order to produce the diagrams. I have had to do this for our database (632 tables) because using sql relationships was too restrictive. We have a stored proc that generates the trigger code for referential integrity checking. (It uses a table to store the table names and parent child column names and the constraints etc)
    This worked fine and we produces diagrams using Visio.
    Regards Clem

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •