Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

database grinds drogheda area

Options
2»

Comments

  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    bpmurray wrote: »
    This is sheer lunacy. It is almost certainly illegal under the data protection act - you can't just put together a system containing that kind of data without very strict controls, including limiting physical access to the server, *PROVEN* secure access to the system, etc. This is a system that will need to be built to standards similar to HIPAA, and that doesn't come cheap.

    I find it amusing the complete rage on this thread, after near 15 years in IT. This story doesn't even scrape the surface.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    Like others, I'm not sure this is a great idea, but it looks like it'll go ahead one way or the other so I'll offer some advice.


    I agree with everyone that Access isn't really up to this task, even Microsoft pretty much openly admit that these days. A web application running with a proper database is clearly the better option.

    I also think that you need to have a really good think about maintenance and support on the system. Think about who will be responsible for maintaining and supporting the system on an ongoing basis. Who will be performing backups, who will be called if the system goes down etc. You've mentioned that the hospital do have some level of IT support, you will need to have a good talk with them about what you intend to do, and see what they can or will take on.

    For example, if you want to go with PHP running on Apache and with a MySQL database and they have no knowledge of any of those, they may not be willing to do any level of support, which means you would have to arrange your own backup/restore solution, and any time a service stops or goes down you will have to fix it. Whereas if you go with .Net running on IIS with SQL Server, they may be willing and able to look after backups, rebooting the server, restarting services etc.

    It's possible, and quite common in fact, that their IT will insist on a certain platform/technologies being used, so you really need to talk to them sooner rather than later.


    You clearly won't have much experience with best practices for developing these kind of applications, so when you do settle on a base platform/technology it'll be very important for you to do quite a bit of research into what best practices are out there.

    When you do have a base platform/technology you should also spend a bit of time investigating what frameworks are available to assist you in that. For example if you are going with .Net/IIS/SQL Server, then ASP.Net's MVC framework will assist you quite a lot. It will help you structure your application according to best practices and will help you to add standard bits of functionality quickly and easily, things like authentication and security for example. It won't stop you doing stupid things, but it'll hopefully encourage you in the right direction. (I'm not familiar with the equivalent frameworks for PHP, but I know some of them are well thought of, mature, and will help you a lot too)

    You could possibly take this a step further and use something like ASP.Net LightSwitch, which will do nearly all of the hard work of building the application for you.


    Another area where your lack of experience will be an issue is when it comes to requirements gathering. This can be a huge minefield even for experienced developers. The best advice I can give in short is to spend a lot of time talking to the users/owners and finding out what their requirements are, and getting a good understanding of what they expect and how they will be using the system to do their jobs. Draw up a document listing their requirements, and your proposed solution design to solve those requirements, and get them to agree to it before you give them any time/cost estimates, and definitely do this before you start any real coding.

    You'll also need to take into account that the first time they try to use the system they will come up with a whole new bunch of requirements or change requests, so in your estimates you will need to allow time for them to test the system (including you training them on the system), time to fix any bugs, and time to implement any change requests, and at least one more round of testing.


  • Registered Users Posts: 160 ✭✭LukeQuietus


    SELECT * FROM hospital_management WHERE iq >= 1;
    No rows found...

    CheesePlease, if that makes absolutely no sense to you then simply graciously decline this job and let them get a professional database developer / administrator to do it. You seem perfectly nice and all but it could be someone you care about who this farce ends up hurting.
    Data is integral in how a system functions. Especially a hospital or anything holding potentially personal and important information. Relational Database Management concepts are extremely complex. It's nothing like making a few spreadsheets. You have things like normalization of the data from 1NF through 3NF and beyond to ensure it's integrity. What engine you need to use (e.g. does it need to be transactional in which case A.C.I.D. proof), Joins, subqueries and then you need to know a programming language which can interpret the data and present it to who needs to see it and on the other end take it from the input / client and send it to the database. Java, PHP, .NET, or Ruby depending on the system.

    They're not something you can install and set up like a desktop program. Database driven systems are custom designed and planned from the ground up to meet the job at hand because every job or database can have vastly seperate needs.


  • Closed Accounts Posts: 8,061 ✭✭✭keith16


    SELECT * FROM hospital_management WHERE iq >= 1;
    No rows found...

    I get it!

    It's a simple select query. Show me all rows (represented by *, although this is bad practice) from the hospital_management table, where the field iq is greater than or equal to 1.

    The query fails to return any rows, cos all the management are idiots and none of them have an IQ equal to or greater than 1.

    I have to agree with the query in this case.


  • Moderators, Technology & Internet Moderators Posts: 1,334 Mod ✭✭✭✭croo


    keith16 wrote: »
    Show me all rows (represented by *...
    The * indicates all columns not rows! ;)


  • Advertisement
  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    croo wrote: »
    The * indicates all columns not rows! ;)

    Still A+ for enthusiasm ;)


  • Closed Accounts Posts: 8,061 ✭✭✭keith16


    croo wrote: »
    The * indicates all columns not rows! ;)

    How about

    SELECT * from the fùcks_given table

    WHERE number_of_fùcks >= 0

    Hmmm...no rows returned here either :)


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    keith16 wrote: »
    How about

    SELECT * from the fùcks_given table

    WHERE number_of_fùcks >= 0

    Hmmm...no rows returned here either :)

    If there was no fùcks given, shouldn't there be at least one row that has has number_of_fùcks = 0?

    If 0 fùcks are not being stored, you probably didn't need the WHERE clause (unless you can give negative amount of fùcks).


  • Closed Accounts Posts: 8,061 ✭✭✭keith16


    If there was no fùcks given, shouldn't there be at least one row that has has number_of_fùcks = 0?

    If 0 fùcks are not being stored, you probably didn't need the WHERE clause (unless you can give negative amount of fùcks).

    You would think so but but it is an MS Access db that I queried and it fell over.


  • Registered Users Posts: 904 ✭✭✭realgolfgeek


    croo wrote: »
    SQL Server (and oracle) are still resource hogs though...

    Really, how is SQL Server a resource hog ?


  • Advertisement
  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    Really, how is SQL Server a resource hog ?

    In a lot of ways, databases are designed to be resource hogs by default. They'll tend to grab as much memory as they can so they can cache data in memory and improve performance.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    FWIW it's very easy to configure limits for the resources that SQL Server uses. I'd imagine it's the same story for Oracle or any other 'resource hogging' database server.


  • Moderators, Technology & Internet Moderators Posts: 1,334 Mod ✭✭✭✭croo


    Really, how is SQL Server a resource hog ?
    The suggestion was the OP could run a web based solution on a spare PC... any PC I've installed SQL Server or Oracle on has taken a big hit in performance where as with something like postgresql or mysql (on linux) you'd hardly know it was there and it would need to be a very heavily used application to have an impact that requires you to start tuning the db.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    The normal deployment scenario for the full versions of SQL Server (and I'd guess for Oracle as well) is for it to sit on a dedicated server. Therefore, by default it will take up any available resources.

    If required, it takes literally seconds to configure limits to the resources it will use, and it's done through a simple, easy to use GUI. In most cases all you will need to do is enter the maximum amount of RAM you want it to be able to use, if needed you can limit CPU and IO usage just as easily. I definitely wouldn't class this as "tuning the db" which conjures up images of pouring over schema diagrams, execution plans and stored procedures, building indexes and changing field types.

    I'm not 100% sure, but IIRC the Express versions of SQL Server, which were recommended to the OP, are designed to cater for desktop scenarios and are more throttled by default.


    edit: oh, and one thing I've found is that when running a SQL Server/IIS application on a single box, the two of them tend to reach a pretty happy equilibrium where each gets the resources it needs to perform well. This might not leave a lot of resources for a developer/user to log in and use the server for something else so it might feel sluggish to them, but it means your application runs as well as possible, which is the important thing really.


  • Moderators, Technology & Internet Moderators Posts: 1,334 Mod ✭✭✭✭croo


    Each to their own .. I'd prefer linux & postgresql over windows & SQL Server and I believe that solution allows me to get more from the hardware.

    As for the dedicated server point; I agree but, I repeat, it was being suggested to the OP (by others) that he might use a "spare PC" to run all the services for a web based application as the solution. I would expect a PC's resources (being used as a server) to be extremely limited.


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    I do get what you're saying, but SQL Server is fine to run on a spare PC being used as a server.

    SQL Server is a resource hog in the sense that it will grab whatever resources it can to run as fast as it can, and if a user is trying to use that PC as normal the PC will naturally feel slow because SQL Server is hogging resources (RAM in particular).

    But that doesn't mean that it actually requires lots of resources, it runs perfectly fine on lower resource machines.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    stevenmu wrote: »
    I do get what you're saying, but SQL Server is fine to run on a spare PC being used as a server.

    SQL Server is a resource hog in the sense that it will grab whatever resources it can to run as fast as it can, and if a user is trying to use that PC as normal the PC will naturally feel slow because SQL Server is hogging resources (RAM in particular).

    But that doesn't mean that it actually requires lots of resources, it runs perfectly fine on lower resource machines.

    Exactly, not to mention the fact that the use cases that were briefly described do not sound like a huge amount of concurrent users. No need to premature optimization so to speak, I'd throw it on the spare box and see how it performs rather than trying to second guess problems that might not even exist.


  • Registered Users Posts: 904 ✭✭✭realgolfgeek


    Big misconception here that SQL is a resource hog.

    It's only a resource hog if it's (as I call it), a next next next installation.

    Obviously depending on the amount of transactions,
    but if you have your memory configured correctly, have things like lock pages in memory turned on, perform volume maintenance tasks turned on, regular update statistics, rebuild indexes, proper TempDB configuration,
    proper database design, proper indexing on your tables, proper stored procedure coding etc etc ...
    it's actually NOT a resource hog as many people may think.

    Again, depends on volumes here but I'm dealing with DB's over 500 TBs on a daily basis with SQL Server and the resources on the systems are not stressed at all.


  • Moderators, Technology & Internet Moderators Posts: 1,334 Mod ✭✭✭✭croo


    Well I give ye one point - SQL Server would be better than MS Access :p
    :D


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    Haha, I think that's something we can all agree on.


  • Advertisement
  • Registered Users Posts: 2,815 ✭✭✭SimonTemplar


    OP, the previous posts have raised some very valid points that you should be very aware of.

    Firstly, development is one of those disciplines where the best way to improve your skills is by rolling up your sleeves and getting stuck in with building a solution, so I applaud you for trying to take this on.

    If you were being asked to develop a small scale application for a sole-trader or even a SME (and assuming you had even a rudimentary back-up system to prevent loss of data), I'd say do a lot of research on your chosen technologies and all the best.

    However, developing an application for a hospital is an entirely different ball game especially that pandora's box of data protection/reliability/accuracy regarding medical records. The title of your thread is db grinds, but there is a lot more to this solution than just db. I have about 4 years experience developing internal applications for my companies (Java and .NET) and I am currently in a higher level degree course to get a formal qualification. I have more knowledge and experience than you, yet I wouldn't feel comfortable taking on that non-trivial project myself.

    The best advice I can offer you is to speak to management and propose that they hire qualified developers for the project but keep you involved as a kind of apprentice. That way the hospital gets their system, you are protected against any possible failures but you still get to work on a fairly complex system and gain the knowledge/experience that that entails.


  • Registered Users Posts: 160 ✭✭LukeQuietus


    Hang on hang on hang on...are people seriously still trying to give advice on how to make this happen?! No advice on helping this happen can be good advice.

    Sure the OP might get a job in Facebook after this project. They're looking for database developers all the time!

    :rolleyes:


  • Registered Users Posts: 14,331 ✭✭✭✭jimmycrackcorm


    Hang on hang on hang on...are people seriously still trying to give advice on how to make this happen?! No advice on helping this happen can be good advice.

    Sure the OP might get a job in Facebook after this project. They're looking for database developers all the time!

    :rolleyes:

    Well I'll give some advice. Learn and use Microsoft LightSwitch. Creating simple database applications doesn't get any easier especially if it's just a fill in the form type application.


Advertisement