Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

A Database for the Office?

Posted by Cliff on Wed Jun 14, 2006 08:55 PM
from the something-to-start-small-and-build-on dept.
travellerjohn asks: "I work in a small company (200 people in 7 offices), where the staff uses Microsoft Access to create various databases. Most of the time they lose interest before the databases become complex or important enough to warrant the IT department getting involved. However, from time to time, someone turns up at our door looking for help with their pet project, often starting with statements like 'it should work over the intranet' or questions like 'why can't it store documents and pictures?' or 'how do I control user access?' When we sit them down and explain how much it will cost to rewrite their database in PHP/VB/JSP, or whatever we sound unhelpful and expensive. What database tool does Slashdot recommend I provide our staff? It has got to be easy to use, web enabled, capable of storing documents and pictures and offer user level security. We have tried Sharepoint with some success but that is pretty limited, too, and I have looked at Oracle Application Express. Open source would be good, but I would pay for the right product. Any suggestions?"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • It seems like the work flow (what's the right term here) is out of whack there. Database projects that "lose interest before they become complex or important enough to warrant the IT department getting involved"? It reminds me of the commercial where they discover they don't have any computer problems so they can refocus on the real purpose of the company.
  • by SeeMyNuts! (955740) on Wednesday June 14 2006, @09:03PM (#15536979)
    "It has got to be easy to use, web enabled, capable of storing documents and pictures and offer user level security."

    Is it hard to set up an office webserver with some sort of content management that everyone can use?
  • by ednopantz (467288) on Wednesday June 14 2006, @09:06PM (#15537005)
    A relational db is one thing, a document collaboration tool is another. If it is a MS Office environment, get someone who knows Sharepoint to come out and show you and one of your power users what it can do. You can even buy/build modular web parts if your document needs are out of the ordinary.

    You'll need MSSQL on the backend, so that solves your "bigger than Access" problem right there. These tools dominate their markets for a reason.
  • Claris FileMaker (Score:5, Informative)

    by sakusha (441986) on Wednesday June 14 2006, @09:08PM (#15537017)
    FileMaker seems to be the easiest for non-techies to grasp, and supports image storage, publishing to web servers, and other goodies they want. Also hooks to SQL if you need more horsepower on the backend.
    • Re:Claris FileMaker (Score:4, Informative)

      by misleb (129952) on Thursday June 15 2006, @01:54AM (#15538156)
      I'd have to second this. Filemaker has come a little ways with FM 7/8. It now has centralize authentication (auth against ActiveDirectory). Has web publishing capabilities. And if you really need to, you can pull data from it into a "regualar" website via FX.php. I, personally, wouldn't use Filemaker because I'd rather use a "real" development environment like Ruby on Rails for database driven applications. But filemaker seems to work well for people who can put together MS Access type stuff.

      As for SQL support in Filemaker though, I must say that it is pretty poor. As far as I know, Filemaker can only IMPORT from SQL sources. It can't access them live.

      -matthew
    • Having spent the last 2 days trying to get their simply retarded 'Web Publishing Engine' working on a fairly standard OS X install with a perfectly happy FileMaker Advanced Server 8 database server that is also installed there, I cannot recommend this as a great solution. Their technical support people seem to have the 'resintall, reboot' mantra firmly embedded in their heads and no amount of talking to them has made me think that they are adquately trained to support their own software.

      YMMV
  • Lotus Notes (Score:3, Informative)

    by omibus (116064) on Wednesday June 14 2006, @09:15PM (#15537048) Homepage Journal
    Never thought I would say this, but if documents, images, and security for a web site are your main consern: Lotus Notes.

    Easy to use with a little bit of training, and works wonders with documents (suppost to be better at it than sharepoint)
  • FileMaker (Score:5, Informative)

    by doj8 (542402) <[doj-sd] [at] [newww.com]> on Wednesday June 14 2006, @09:19PM (#15537062) Homepage
    I've used FileMaker quite successfully for many years. It is simple enough for most folk, but extensible. It can store pictures and other binary data. The web interface can be customized. User level access control is built-in. It runs under Windows and Mac and in Wine under Linux. Databases can be migrated to a FileMaker Server, if they go beyond the standalone limits (10 simultaneous users, typically). There's also a compiler to create standalone applications from databases, without needing a license per user.

    All in all, FileMaker is a great tool for this sort of thing.
  • Yep... (Score:3, Funny)

    by mmortal03 (607958) on Wednesday June 14 2006, @09:24PM (#15537090)
    "Most of the time they loose interest" As opposed to "tight interest"?
  • Why not try Groove? It's owned by Microsoft, and likely to show up in future versions of the OS. It's fairly easy to use, and you can store whatever you like securely.
    • With SharePoint 2007 there should be tighter integration as well and it will cover ALL of these requests.
      I admit SP doesn't look like much now, but as you dig and see the Object Model, how it can be integrated into user environments, workspaces, audiences, etc. - it's quite powerful.
      No, I'm not blindly pro-MicroSoft and they've still got a long way to go (apparently SP07 slices bread, too) it's just that I can see how MicroSoft is going and it's going to clean Linuxes clock for collaboration.
      Coincidentally
  • by moehoward (668736) on Wednesday June 14 2006, @09:26PM (#15537101)

    In a 200 person company, I would get rid of Access on the desktop. I see the appeal, but it's time for the IT department to step up and consolidate database development/maintenance so that it is more centralized.

    Once IT takes control of all databases, all sorts of things fall into place, such as security, backups, moving to a single technology (SQL Server or MySQL), etc. At first it is a bit more costly and people will complain about losing flexibility. But in the lgng run, it is cheaper and people who do OTHER work will find it nicer to be able to focus on their core expertise.
    • by Tablizer (95088) on Wednesday June 14 2006, @10:26PM (#15537429) Homepage Journal
      but it's time for the IT department to step up and consolidate database development/maintenance so that it is more centralized.

      In theory this sounds great, but the problem is that the centralized place becomes a bottleneck, sort of like "free"-ways. It gets overworked and delivery times start to slip. If a smaller department has control, then they can decide how much resources and effort to put into things on a case-by-case basis and ramp up quickly if needed. Yes, it results in more duplication, but sometimes that is preferrable to lack of service response.
    • by DuctTape (101304) on Wednesday June 14 2006, @10:46PM (#15537524)
      Once IT takes control of all databases, all sorts of things fall into place

      Where I've been, once IT takes control of the databases, you never see them (or your data) again.

      DT

    • Centralized DB in even the MySQL style is serious overkill and overcomplication, for casual or local very-denormalized data listings such as constitute a the majority of small-business databases. Access would be good if it were cheap and you could trust it. Excel is a common ugly hack.

      Perhaps there's some GUI tool based on SQLite?
        • Very topical: I saw this excellent cartoon [neopoleon.com] (scroll down) on a blog; sums up the decision to use Excel as a "database".

          If I had a pound for every time I've seen Excel stuffed with information and being used as a hacky database just waiting to fall over...
  • by allenw (33234) on Wednesday June 14 2006, @09:31PM (#15537127) Homepage Journal
    Why not use something like TWiki? It can store those things plus it has decent enough access control. We've moved almost our entire business unit (around 600 users) web content and migrated a lot of processes to one centralized TWiki installation running on a Solaris box and couldn't be happier.
    • I was thinking along the same lines. I guess it would matter on how much data needed to be stored vs images and documents, but if you move towards the out side of the box, you might be able to use a social networking system to do a lot of the work for you. Seems kinda screwy to think of MySpace as an enterprise tool though ;)

      -Rick
    • I've installed a Wiki at work for collaboration. Most ignore it (and bitch about the lack of collaboration tools), but a few use it. Ideally, you'd want to tie in a filter for MS Office documents, so that people could upload Word or Excel files and have them rendered (much the same way Yahoo's e-mail can - well, some of the time). There are a LOT of wiki systems out there (MediaWiki, IkeWiki, etc) which are good at different things. If this sounds like a good approach, then I'd suggest doing a little resear
      • I think this is why the grandparent suggested TWiki. Like anything else, if you don't market the product, people won't use it. At our company, everyone loves the wiki. When there is a critical mass of data on the wiki, people start relying on it. People always ask questions like, where was that document on hiring interns? oh it's on the wiki! I'd say TWiki is a pretty powerful system, and handles everything the other wikis can do. TWiki standalone can already replace most CMS systems. If you use TWi
  • by riprjak (158717) on Wednesday June 14 2006, @09:36PM (#15537150)
    ... BAN Access. One day the database "created just for a simple task" may become the repository of mission critical business data. Access is inappropriate and incompetent to the task of being a "database" in any meaningful sense of the word.

    Training is critical; ensure staff recieve spreadsheet (excel or your chosen open source brew) training in reasonable depth... Then encourage them to use spreadsheets for "simple tasks" involving data storeage. Making some "standard" macros for query dialogs is useful here. Then if the data does become important, it is a trivial task to move it into a real database (unlike access!).

    One solution I have seen effectively used is the creation of a "general" database using mysql and a rather clever PHP front end. The database allowed for 8 "fields"; each field was really three fields, Data descriptor, Data name and Data type. Essentially the ID-10-T entered a name for the data field, its data and selected a type from a drop down box. They could select previous "name and type" combinations they had used. This then spawns a copy of this "standard" database with user access privelges set to a default rule; another interface allowed advanced users to adjust this. Finally a generic PHP gateway presented them a data entry/query sheet that formatted itself based on type... Sure, it was probably alot of work, once; but it ensured that all future databases created were in "real" databases that were relatively easy to maintain for the IT department.

    Essentially, my suggestion is to encourage them to work with excel or similar with a few standard macros/dialogs created to allow data entry and search to be "simple" (small up front work by IT, maintenance required); or create a more complex "standardised" database and access system (alot of up front effort, minimal maintenance). This trades effort for ease of future scaleability and maintenance.

    Just my $0.02
    err!
    jak
    • by ednopantz (467288) on Wednesday June 14 2006, @11:38PM (#15537767)
      Holy crap. Moving them from Access to Excel is a good thing? Are you nuts? If you don't like rogue Access apps, the solution is to offer a better solution, not ban the technology that comes closest to solving their problems.

      Assuming there aren't internal resources, get some broad guidelines for those rogue people and better yet, cultivate a stable of smart outsiders who can be the "approved" rogue IT for when business people bypass IT and do their own thing using Access. If you are going to have rogues, have good rogues.
      • Ahh! not quite.

        Move them from Access to SQL or something. If you want to allow "rogue" data sets; I much prefer a spreadhseet; creating a macro to allow a pretty front end for data query and management is trivial and the underlying document data is *significantly* less fragile. Recovering data from them years after the fact is easier, converting the data into a manageable dataset within a "real" database is easier etc..
        This is, of course, IMHO; but, I can see no meaningful arguement to ever allow MS Acce
    • One solution I have seen effectively used is the creation of a "general" database using mysql and a rather clever PHP front end. The database allowed for 8 "fields"; each field was really three fields, Data descriptor, Data name and Data type. Essentially the ID-10-T entered a name for the data field, its data and selected a type from a drop down box. They could select previous "name and type" combinations they had used. This then spawns a copy of this "standard" database with user access privelges set to a

  • You could always set up a MySQL server with PHPMyAdmin and have them learn SQL....
    On a more serious note, you might just consider rolling your own application. Set up a MySQL (or Oracle, or MS SQL, whatever you like) database, then roll your own application that will meet the needs of the various departments. Keep tally of the features that people are asking for on their specific projects, and include the most common ones. Once everything is finished, then just allow departments to port the database ove
    • Umm, I think developing custom applications on top of SQL is exactly the kind of expensive thing they were looking to avoid. Although I don't know that there is any way to avoid it. Consolidating data and writing effective interfaces that work for everyone is not a trivial task. Sure, there are RAD tools that can speed things up, but at some poitn you are going to have to bring in SOMEONE who knows what they are doing. A couple IT guys and some users with MS Access skillz just isn't going to cut it.

      -matthew
    • Nah you don't want them to do this... some people will always take shortcuts and you'll end up with a system that spans 5 different databases with some of the data on flat text files & excel spreadsheets. I know this because I've been there. It's a bit much to keep tally on everyone that wants to add some more "columns" in their own sql-system. If you make it too hard on the users, the users will stick their data anywhere to saves them a bit of time.
  • I've been kicking around building an OSS database utility to compete with the likes of Access and Toad. It would be based on PHP, SqLite, and ODBC. However, I cannot find a decent open-source JavaScript editable data-grid control. They tend to have one big flaw or another. Maybe in another year such will finally mature. Data-grids are a must for such a util.
  • It seems as though you're looking for some type of development platform, not necessarily a database. Fact is, that's why a lot of people use Access for small stuff. It essentially allows them to quickly develop an "application" (from the user's viewpoint). Yeah, there's good and bad to that.

    This seems to be more of a policy/management issue than a technology issue. If people even think for a moment that what they want may one day be used over the net or by more than one or two people, they should be cont
  • See my collection of Perl libraries for just such an occasion:
    http://entropy.homelinux.org/axis_not_evil [homelinux.org]
    • Re:Axis (Score:5, Interesting)

      by vandan (151516) on Wednesday June 14 2006, @11:34PM (#15537749) Homepage
      Sorry. I suppose I could have elaborated a little further.

      Axis is a collection of 3 projects:

      - Gtk2::Ex::DBI ( forms )
      - Gtk2::Ex::Datasheet ( datasheets )
      - PDF::ReportWriter ( reports )

      They're all cross-platform ( heavyily tested under Linux and Windows 2000 ) and open-source.

      The basic idea is that you create your GUI in Glade ( ie Gtk2 ). You then create a Gtk2::Ex::DBI object, pass it your Glade XML file, and it will connect to the table you specify, and 'bind' all the widgets in your Glade XML file with a name that matches a fieldname in the table.

      The datasheet module is similar, but instead of creating a GUI and laying out widgets and such, everything goes into a treeview ( datasheet ).

      PDF::ReportWriter makes high-quality reports from XML report definitions. It supports unlimited grouping, group functions such as sum, count, etc, intelligent page breaking, page headers & footers, and a WHOLE lot more.

      There are plentiful screenshots on the website. All modules are under active development ( ie right now ). All feature requests, bug reports and patches welcome. Check it out :)

      http://entropy.homelinux.org/axis_not_evil [homelinux.org]
      • Excuse me but this seems terribly complicated. I know very little about databases and have wanted to get into it for the longuest time. Anyone can recommand some practical tutorial on how to put together quick php pages interfacing with some easy to setup SQL flavor ? Most of the tutorials I've seen are usually about pure SQL stuff.
  • For 200 users, with user-level security, you just need to find a tech willing to actually spend the time to make Access work. 2007 has plenty of additional gizmos, incluing a new "attachment" data type to, well, store those documetns you can't really store in Access.

    (You can store Images in Access. You use the "image" file type.)

    Now, if you just want to upgrade their database, the SINGLE CHEAPEST thing you can do is setup SQL Server 2005 Express. Access can upgrade itself to use the server (Use the "SQL Database Engine" if you're version-shy), and you gain all of those things that you don't have now.
  • Doesn't matter (Score:3, Insightful)

    by ScuzzMonkey (208981) on Thursday June 15 2006, @12:28AM (#15537951) Homepage
    Pick whatever database backend you like; big, centrally managed, scalable, as complex as you like. IT manages it; handles the schema and maintenance, necessary stored procedures. A professional data architect in the IT department has final say on the architecture, but works with the requesting parties to ensure that it can fill their data needs. If necessary, views or similar can be constructed and made available on top of the actual data structure to make it easier for the non-programmers to interact with. You then expose, with appropriately restricted permissions, the database server to all these people with their small pet database projects. You know that most of them are going to be looking at most of the same basic table structure--they need names, phone numbers, whatever. It's a decent bet, since they're in the same company, that they're actually going to be storing the same data, no less. Let them at it--give 'em ODBC connections and turn 'em loose.

    They do the work; you give some input and assistance, but don't turn any of them into full-blown development projects. All you have to do is manage the backend. They get to scratch their itch, you get to look helpful and enabling, and no one gets sucked into big, expensive tools or projects.
  • I haven't used it, but there's bunch of new stuff [iponet.net] in Access 2007 that might be of interest, including an attachment datatype (documents, images, etc...), improved SharePoint integration (access control, workflow, offline lists). of course, you can pass through to a DBMS if Jet become a limiting factor...
  • by be_kul (718053) on Thursday June 15 2006, @05:18AM (#15538571)
    and - for instance - Plone, too: It
    - runs on almost everything (Windows, Mac OSX, Linux, *BSD - from Servers to Laptops),
    - is very easy to set up and maintain, - has an easy-to-understand web-based user interface,
    - has a simple but powerful user management
    - can store data in almost any SQL database, but
    - comes with its own, very powerful object-oriented DB (ZODB).
    Especially the last point makes it appear "naturally" to many users: They can store data as they are used to do in their filesystem inside folders, documents etc. There is a LOT of additional, easy-to-use plug-ins (called "products") that allow, for instance, to put files onto the filesystem through-the-web -- and: all is very easily scriptable with Python.
    So: Welcome to the Zope/Plone Community ;-)
  • Sounds like you need a content management system, not just a database. Your users basically seem to wish for a way to share project-related materials. I see you've already considered that...

    We have tried Sharepoint with some success but that is pretty limited too

    ...so I'd definitely be interested to hear what limitations you ran into there. It's highly possible that some of the open CMS systems (Drupal, etc) could offer you what Sharepoint doesn't, but it's hard to say without knowing exactly what parts of Sharepoint you found limiting for your needs.

    You might also consider a hosted collaboration tool such as Basecamp [basecamphq.com]. I haven't used it myself but it has quite a few fans. It's probably more limited (and certainly less extensible) than software like Drupal but the ease of administration (since it's hosted) and easy accessibility (since it's not on your LAN, it's on the 'net) could compensate. Then again, if you're the IT guy... perhaps you don't want a zero-administation solution for job security's sake. :)

  • Take a look at Alphora [alphora.com.] Dataphor. While it is not an end-user tool, it has the potential to lower your development costs so much you will be able to actually serve your users.

  • by iamr00t (453048) on Thursday June 15 2006, @07:58AM (#15539054) Journal
    Migrating from Access to SQL would be logical for you. Clients keep using Access and its forms to access the data, so they keep the application that they developed, and you get managebility, proper multi-user and access permissions.
    It will be almost transparent for users.
    • Mod parent down! (Score:3, Informative)

      by Anonymous Coward
      100% wrong on all counts!

      Access CAN store anything as blobs.

      As for supporting the rest, you're wrong there too.
      -Access security model is a total JOKE - and a bad one at that. No normal RDBMS security, just some shitty broken built-in sorry excuse for security (and shitty cmd line tool to recover it).
      -It *doesn't* scale. At all. This is thoroughly documented (you'd know if you had even read a FAQ or something). It wasn't EVER meant to be used for more than a handful of users (MS KB even state this). Put a fe
      • An aside -- but whats your problem with mysql? I use My daily, and while I've got some issues, I never thought it to be as bad as you claim... -Riz
      • Re:Mod parent down! (Score:4, Informative)

        by johnashby (819655) on Thursday June 15 2006, @08:40AM (#15539350)
        I have designed databases in Access that support over 250 users concurrently, and there are no issues of latency or corruption. These databases are not simple "advance to the next record" databases either: they are comprehensive, feature rich applications that tie in seamlessly with the Office applications my users expect to be able to use. I even coded my own security system that is "good enough" in our intranet environment to keep any nosy users out.

        What can Access do easily and well? How about slapping together a presentation in Powerpoint and e-mailing it directly to users? Dumping database content directly into PivotTables for executive analysis...and providing a form to allow them to build their own custom data views. Using Excel objects to chart directly in the database...and provide the ability to get that data out for more detailed analysis. All with no servers, no full-time team of empire-builders who insist everything has to be done in an overly complex way to justify their own jobs.

        The snobby dismissal of Access is generally the result of seeing bad implementations of it. There are places where Access is a horrible choice, and there are "developers" who will mangle anything they touch, including Access. But I will tell you this: nothing can touch Access for speed of deployment for its scope. Paying through the nose for a PHP/Java/MySQL/whatever solution that the users have NO chance of being able to tweak by themselves is only a good deal for the developers, who can hold the users hostage when they need changes. I would say that for most small-to-mid-sized organizations(up to around 250 users per database), Access databases can fulfill many of their ::internal:: needs. The Internet? That's a different question entirely...run away screaming from Access for that.

    • Access can store images and documents as OLE objects I believe.

      -Rick
      • Access can store images and documents as OLE objects I believe.

        Sort of. You can embed things like word documents, then launch them from the Access app, but Access does some weird stuff with filesizes. Expect to see even simple documents consume an additional half a meg once they're added, and big documents to chew up even more space.

    • by DrXym (126579) on Thursday June 15 2006, @03:35AM (#15538388)
      Access is capable of storing stuff as blobs (as others have said). It can also be used over a network, if the .mdb file resides on a network drive. Not exactly reliable but it can be done.

      The biggest issue is that Access has a ~2GB file limitation so storing large things in it is not a good idea. Secondly, JET is well and truly dead and unsupported and doesn't support things you really might need for multi-user system such as referential integrity, triggers, stored procs.

      MS provide a SQL Server Express 2005 with a 4Gb DB limit for free that would be a good option. Oracle has something similar. There is also PostgreSQL that has no limits. The last option has the benefit of being totally unencumbered, but I don't believe the ODBC or .NET drivers are quite as polished as the other options.

      • You missed major databases like MySQL and sqlite. MySQL is free, has more features than SQL Server Express, and limitless in size. Sqlite is free, about same in feature set compared to JET, and pretty much limitless in size (up to 2 terabytes to be exact). Both databases can be used with Access through ODBC.
    • Your user access idea of download information from LDAP or ActiveDirectory sounds pretty scary. Out of curiousity, are you suggesting downloading user id + passwords to access tables? That is not the proper, or secure, way of doing authentication. The typical (and secure) way of handling this is storing a ACL in your apps database (just user id) and sending the credentials to the authentication source (LDAP or AD) for confirmation. I have watched way too many "Access Experts" come to IT departments dema