Relational Database Design With Filemaker Pro Rata
A potential customer has asked me to look at some promotional flyers for a couple of apps which fall into the contact management / scheduler category. Both use Filemaker as their backend. It looks like these two apps are sold as web apps. At any rate I had not heard of Filemaker in about ten years, so it was surprising to see it pop up twice in the same sitting.
I think it started out as a Mac platform db system. I am more partial to SQL Server, MY SQL, etc, but before make any comments on Filemaker, I'd like to know some of the pros and cons of the system. It must be more than Access for Mac's, but I have never run across it as a player in the client / server or web app arena. Many thanks Mike Thomas. Pros: • It's cheap Cons: • It's cheap(ly made) • It's non-standard (easy to find MySQL/Oracle/MSSQL/Access experts but nobody knows Filemaker) Using subpar and/or nonstandard technologies only creates.
I've never found a respectable dev that actually enjoyed (or wanted to) using this niche product. In my opinion this product exists because it is Access for Macs, and it gained enough of a userbase and existing applications that enough people bought each upgrade to keep it in business.
There are many products on the market that still exist because it's users are locked in, not because it's a good choice. 1 I've never worked with Filemaker Pro and did think of it as 'just another MS Access'. However you cannot simply say 'Cheaply made','Non-standard' and give no real evidence to back this up. Your only 'Pro' makes it obvious you have some subjective bias. Have a look at some of the other answers for much more useful responses.
It actually sounds like Filemaker is ideal for smaller businesses where flexibility is important, but would be a bad choice for a distributed multi-user ERP system. – Jun 13 '09 at 3:04 17. @Ash - Except that, more likely than not in the Biz world, systems grow and it becomes a multi-user system. Or the system expands into a mess. There's a reason some companies outright ban Access solutions. Yes I'm biased, I see Access and Filemaker akin to using duct tape to fix rust spots on your car. Might seem like a good idea at first, but the more you use it, the flaws really begin to show.
But once you're that far down the rabbit hole in Access/Filemaker, it's easier to suffer than it is to re-invent the wheel. These technologies are a pandora's box, use at your own risk. – Jun 18 '09 at 16:10.
Calling Filemaker Pro, Access for the Mac is kind of like saying, Mac OS X is Windows for the Mac. They're both in the same category of software, they're integrated programming environments.
It's like you have MySQL, PHP, HTML and your editor put together in a GUI. Comparing the two, they both have pros an cons. Here are the pros and cons of using Filemaker Pro vs PHP/MySQL/HTML in my experience. I'll admit to bias on this subject -- I work with one of the larger FileMaker development shops out there, and have written the odd book on the subject. We actually employ many respectable developers who love using FMP.
I'll try to keep it brief.:-) FileMaker Pro is a rapid app development tool. It's primarily client-server, though it has some very respectable web publishing capabilities which work well for many applications. It is not SQL-based, but does have ODBC and JDBC interfaces, as well as an XML/HTTP interface. As far as lock-in, FileMaker Inc has grown sales steadily, with very significant growth in new users who are attracted to the platform's solidity and ease of use. I think Matt Haughton nailed it -- for the right applications, FMP is simply the best choice going.
That said, your customer is looking at apps written in FMP Pro, and you need to evaluate those apps on their own merit. They may be good instances of FMP development, or they may not. To know more about FMP's fitness for the task, we'd need to hear more about the proposed application and user base. Are these indeed web apps, or client-server? How many users will be using it?
Dec 15, 2016 Beginner's questions on database relationship. Discussion created by yhmeng on Dec 13, 2016 Latest reply on Dec 15. 'Relational Database Design with FileMaker Pro'. Super Mario Kart Double Dash Isopure.
Do they work at one or two site, or are they spread across the Internet? Happy to elaborate further if there's more interest. Thank you for this excellent list of devil-in-the-details points. I am faced with integrating (and hopefully eventually migrating) a Filemaker-backed website with a MySQL based Content Management System. I've been working with the Filemaker PHP API and I too have run into the issue of not being able to combine AND and OR operators into a single 'query' (or find command in Filemaker terms).
I was considering investigating the SQL/OBDC interface to make these sorts of queries easier, but having read your points I don't think I'll bother. – May 13 '16 at 0:05 1. Also, I think it's important to consider first-hand experience like this when choosing a product/technology. While it's one thing to read off a feature list (e.g. 'filemaker supports SQL via an ODBC interface') it's quite another to actually use it and have it work properly.
It seems to be that - internally - Filemaker's database engine has been designed in a fairly specific way (to support a pretty specific set of use cases) - which doesn't necessarily map well to the features we have all come to expect from most other databases. – May 13 '16 at 0:14 1. Just a few comments on the subject FileMaker is certainly cheaper than some enterprise solutions in licensing costs. However, the real cost benefit is in development time. The development life-cycle is typically orders of magnitude lower than other enterprise platforms (whatever the licensing costs of those platforms). By this I mean days instead of weeks, or weeks rather than months to develop some feature.
There is a strong argument that FileMaker is Access for the Mac. While this was a valid argument a few years ago, FileMaker has come into its own in recent years. It's worth noting that FileMaker is cross platform and used extensively on Windows as well as Mac. That being said there are still huge similarities and differences between FileMaker and Access, the truth is none of them have any bearing on your situation. While FileMaker is non-standard it does support live connection to MySQL, MS SQL Server and Oracle. Also, there are numerous FileMaker developers not as much as more standard platforms, but they are definitely about, if you let me know where you are I can put you in touch with a selection of developers in your area.
The important point I want to make is that in the correct context FileMaker is the best thing in the world at what it does - if you try to do something that it's not meant to do, you'll get stuck. However, it could support offices in 4 locations, it can and is being done. Before you go and rewrite your system in some other platform you should get in touch with a FileMaker expert and see what they have to say about what you've currently got, writing more details on this site and having non-experts answer positively or negatively won't help you.
In the end it has to be a business choice of costs vs. No need to list anymore 'Cons' - but here is a significant 'Pro' - Filemaker Go. Once you have your database setup, download a ipad/iphone app (free for FM12) and run it from a mobile device. The database can be stored locally on the ipad/iphone or synced back to a host PC. I'm sure this mobile solution is possible elsewhere - but the fundamental point is that an entry-level user (and I mean NO previous database experience) can create an impressive solution within a few weeks. Personal experience: main database running FM 11 hosted on PC under my desk - 4 researchers scattered across the city collecting data on ipads - all syncing back to my PC.
Previous solution was using paper and entering in data by hand. FileMaker is an interesting app:) It started as an end-user tool and it still is one of very few database apps that a non-programmer can actually use. But somehow FileMaker developers managed to make it very scalable. There's no other platform where one can start with a useful tool and end up with a client-server app that for the whole company. In old days they used to have a splash screen that captured this very idea (I only found an imperfect version): I.e. Something as simple as a file cabinet that can grow quite big. All FileMaker pros and cons come from its origin.
As an end-user tool it's very much unlike other DBMS apps. No real programming: scripts are basically macros that repeat user actions in a slightly more general way with variables and some logic. Lots of limitations; e.g. A list view cannot have a sidebar; a dynamic value list is always sorted alphabetically; to open a Save As dialog and read back the file name you'll need a plug-in; and so on. For a programmer this can be very frustrating, because most his assumptions will be wrong. And existing apps written by non-programmers are not exactly paragons of clarity and solid design.
But if you manage to overcome the obstacles you'll find a rather good RAD for client-server, single-user, web, and mobile apps, that stays rather usable over WAN, with such niceties as runtime and kiosk mode. Having said that, I'm not quite sure about generic contact management and scheduling apps in FileMaker. If this is what they are, then they should be unlocked, so the customer can make changes; or they have to be niche apps that do for the customer what nothing else does. Filemaker is enormously powerful and versatile. Excellent multi-user support. You can create wonderful solutions in Filemaker with document management, web interface, iphone interface, automated publishing support, scheduled scripts, PDF/Excel/HTML reports, XML support, caller ID record lookup, integration of web data (UPS & Fedex linked to order record for example).
Extensible with plugins. It's like being in the Home Depot of data. Don't try to build Amazon; other than that what can't you build with it, and faster app dev than most anywhere else? It has been more than a year now since I run through FM and use it in developing solutions for various clients. The following are my FM experience: • learning curve is much less than using the hard coded industry standard technology; • it can fit well as to industry standards platforms because of it's ODBC and JDBC connectivity. Your data is not locked in FM and other data format can get in FM; • it fits well as front end and back end solutions. • FM can match enterprise platform having a right database design and deployment i.e.
Workgroup or department oriented solutions. This is data to it's workgroup owner and make it available for other workgroups or departments; • FM is fits well for rapid application development that employs prototyping; • FM has many more capabilities you therein.
I suggest you try it yourself and I'm sure you'll love the stuff FM can offer! Happy computing.
A little research has made me think that FileMaker is indeed Access for Mac, but perhaps a little more robust. I worked with Access for years, never really liked it, and am glad to be away from it (I always held a grudge for MSFT killing FoxPro, which I did like). It is hard for me to imagine it as a good solution for a web based app used by offices in four locations around the country, plus many others logging on from home, etc.
Using it does not make much sense when MySQL, SQL Server, etc are available for the data storage and ASP.NET, PHP, Ruby etc are there for the programming. While the comparisons to 'Access for Mac' is inevitable, there are some important distinctions that have to be made. FileMaker databases can be shared out to more than one person provided 1 of 2 things happen. One, a person on your network opens the DB and shares it from their computer, acting as the host. Two, you buy and install FileMaker server which hosts the DBs.
Also it's been my experience that while FileMaker developers LOVE FM, they're having to learn other technologies because more and more government agencies (my primary employer the past 10 years) are moving off of FM and into SQL Server, Oracle and to some extent Access and open source. FileMaker skills are becoming less and less in demand in the public sector, so getting support for these applications is harder and consequently, more expensive. That being said, we have a FM server and FM 5.5 clients running an application that has been rock solid for the past 5 years. Lots of comments about FileMaker being non-standard. But what is 'standard'?
By 'standard', many people mean that a database supports Structured Query Language (SQL) (ISO Standard 9075) and FileMaker has and continues to support SQL. How every database engine supports SQL is proprietary to every database. Now it might be open source such as MySQL, but SQL is a standard to support, not the underlying language of how it is accomplished. When most people talk about databases, they are only talking about the backend tables and schema. The front end user interface is frequently something else. And most of them now render those results as html pages via open standards like PHP. Again, FileMaker fully supports PHP calls and Apache or IIS (depending on which OS platform you are on).
So I would disagree with people saying FileMaker is non-standard. What is unique about FileMaker is its tight integration between the schema and the User Interface. This is similar to Apple's tight integration between hardware and the Operating system, which has some nice benefits. Interestingly, FileMaker is owned by Apple, but I guess that is another topic. Generally, FileMaker's User Interface is considerably easier to use than most open standards and most people stick to FileMaker's client User Interface instead of web interfaces. There are still a number of things supported only in FileMaker User Interface that can't be duplicated in a web browser. FileMaker really makes rapid application development much easier with its close integration of schema and user interface.
This makes development cost a whole lot less in most cases. FileMaker's database services can be spread among up to 3 machines giving it primitive load balancing abilities with web services.
While FileMaker easily supports hundreds of users, if you go into thousands of simultaneous users, many SQL only databases (eg Oracle, MS SQL Server, MySQL, Postgres) are designed to better spread out the load across more machines. Basically, if you have high simultaneous transactions, FileMaker is not your solution. For example, a company with many point of sale terminals from all over the county hitting it at the same time. While FileMaker supports SQL and PHP, using it only that way is a waste of the money spent on the license for the FileMaker User Interface.
It would not be a cost effective solution to develop a web front end and pay the full FileMaker license cost for only a backend. So, FileMaker's support of PHP and SQL is best combined with companies that have an in-house solution for staff, but also want to integrate that with their web development team for outside customers. One last note is that FileMaker's tight integration of schema and User Interface makes security much easier. Obviously you have to set up the groups and users and I usually integrate FileMaker with Active Directory (or Open Directory). But when you use the FileMaker Client and Server connections, turning on encryption security is a single checkbox on the server.
FileMaker handles all of the certificates and uses an AES 256bit cipher (at least since version 11, maybe before then too). Currently, the US Government considers that approved for up to and including the first level of Top Secret communications.
In typical SQL systems, there is a lot of work to configure security on the database end as well as the user interface end of things and it is much more work than a single checkbox. FileMaker's target audience has been small to medium sized companies, usually with 5 to 200 users, and it is a well priced product for rapid application development of databases for companies of that size. And I can't end this comment without commenting on how easy it is to create and deploy a mobile solution on iOS devices like iPads and iPhones.
FileMaker Go is a free app for use on these mobile devices and they fully support the same user interface and security. In fact, I am aware of one company that uses FileMaker as a front end interface for their Oracle database simply for access on iPhones. Expect a lot more in the mobile market in the future and FileMaker is clearly targeting mobile users. I've been using FM for more than a year now. I'm doing and providing solutions for SMBs using the SQL standard for several years.
I love those SQL stuff, but just a year a ago i run through FM Pro 9 and have it a try. Amazingly, i got all i wanted in just a short time.
In my experience as developer, FM Pro impressed me the way it does things. True enough, FM is not an industry database standard but a good number of its features can compensate to what 'standard' is being required of.
FM pro has live connectivity to MySQL, MS SQL Server and Oracle. For me, it doesn't make sense to speak about standard if you can move your data around from FM to other platforms and vice-versa. Well, this note can't make that much convincing.
It's good to try it for yourself. Especially now that FM has its new version 10. You'll love it. Happy computing. Two points seem to dominate this discussion and need consideration: Non-Standard and what Government Agencies are doing. Let's consider the small business owner or the single user both of whom a creating databases to meet their needs.
Now it doesn't matter what the government is doing, this is your database for your employees. Do what you want (as long as its legal, of course). Non-Standard, well often this is the best idea since what you want to do works for you. Name your fields and tables as you like and later on rename this as you prefer. Don't try this with dbf or sql.
Anyone remember those 'standard' file names bks1999.dbf bks2000.dbf Keep in mind that 'standards' exist because someone else wrote them before you arrived, not because they are the best possible idea. And yes, there are a lot of 'bad' Filemaker solutions but they are working and supporting hundreds of thousands of people. But try to improve one of these bad solutions and compare that effort to improve a similarly bad dbf solution. A renamed field filters effortlessly through thousands of scripts and scripts in related Filemaker files.
In a dbf solution it can become a nightmare as each instance has to be manually retyped. One real test would be to compare how easily Filemaker can work with SQL, etc. As compared to other applications. That might be interesting. I've never done that but I bet I could create a working file in very little time that works with such data. I have always said that every developer should use and be familiar with all of the tools. 25 years with Filemaker Pro, 3 years with FoxPro, 2 with 4D, etc.
I'm not a pro enough to speak to your concerns but there are a number of large complex applications written in FMP that you may want to look. Jungle Software is a good place to start. The down side to FMP for me as a user of some of those apps is that they come with a stack of files. The runtime of a FMP application isn't packaged as a bundle so it can look a bit complex with a large app. We did some tests a long time back because FMP had a reputation of being slow.
At that time (12 years ago) FMP needed to index the db or it was slow but once it was indexed it was as fast as anything else we tested. It's big upside for semi pros is that it is very easy to do basic stuff and end up with working tool. My experience with Access was extremely negative so I wouldn't compare it at all with FMP. In the end it doesn't really mater what it was written in, if the software does what you want and is stable buy it. If it doesn't don't. It is very easy to get data in and out of FMP so the proprietaryness of the db format doesn't really enter into it.
Let author Cris Ippolite show you how to translate aspects of the real world into the form and language of a relational database, using three practical data modeling examples. The course begins by reviewing some of the basic concepts of data modeling, introducing tables, key fields, and the Relationship Graph. Then, after demonstrating how to establish relationships in a database, the course concludes with a demonstration of some advanced modeling techniques, such as filtering, scripting, and the use of portals. The course applies to versions of FileMaker Pro from 7 through the most current version.
Instructor •. Cris Ippolite is a three-time FileMaker Excellence Award–winning trainer and the founder of iSolutions, a Los Angeles–based FileMaker consulting firm. Cris is a FileMaker Certified Developer in all versions, as well as a FileMaker professional trainer and one of 50 partner-level FileMaker Business Alliance members in the world. Cris also serves on the FBA Partner Council as an advisor to FileMaker, Inc.
He also has been a regular speaker at several technology conferences, including the FileMaker Developer Conference, where he has been a speaker over 35 times. Cris has managed the FileMaker Certification training track at the FileMaker Developer Conference and won an award for his training efforts there in 2014 and again in 2016.
For more information on Cris and his training offerings, visit him. Related courses • Course By: Cris Ippolite 3h 56m 31s • Course By: Cris Ippolite 3h 56m 31s • Course By: Cris Ippolite 10h 28m 24s • Course By: Cris Ippolite 10h 28m 24s • Course By: Cris Ippolite 7h 33m 19s • Course By: Cris Ippolite 7h 33m 19s • Course By: Cris Ippolite 1h 15m • Course By: Cris Ippolite 1h 15m • Course Transcript - In the relational model, data is broken down into small chunks which are connected to each other by relationships.
By breaking data into smaller pieces, accuracy is ensured by making data entry a one time process, and then reusing the data by connecting it with other pieces. Using this process, a large collection of unorganized data is simplified into its smallest units and then related with many other small units to recreate the big picture in a more organized format.
The relational model provides a simple and flexible way to describe data. Data modeling is the initial purpose of any database. The data has to be modeled or described so that it can be input and output in a method that can be duplicated and applied to the business rules of the organization using the system. You actually see data organized like this in the real world, all around you.
For example, if you go into any office, you'll see several file cabinets that store different files about different things. One file • Practice while you learn with exercise files. Watch this course anytime, anywhere. Course Contents • Introduction Introduction • • • • 1. Reviewing Data Modeling 1. Reviewing Data Modeling • • • • 2. Resolving Many-to-Many Relationship 2.
Resolving Many-to-Many Relationship • • • 3. Introducing Key Fields 3. Introducing Key Fields • • • 4. Using the FileMaker Relationship Graph 4. Using the FileMaker Relationship Graph • • • • 5.
Working with Relationships 5. Working with Relationships • • • • • 6.
Real-World Data Modeling Examples 6. Real-World Data Modeling Examples • • • • 7. Advanced Relationship Techniques 7. Advanced Relationship Techniques • • • • • • • 8. Relationships in Calculation 8. Relationships in Calculation • • • Conclusion Conclusion •.