filemaker白皮书
### FileMaker 白皮书知识点总结 #### 一、前言 本文档是专为FileMaker Pro初学者准备的一份详尽指南,旨在帮助新手快速掌握FileMaker数据库的设计与使用技巧。作者David Kachel在2011年更新了这份文档至版本2.01,内容涵盖了字段、布局及数据库设计等多个方面,对于想要深入了解FileMaker的人来说非常实用。 #### 二、字段(Fields) **1. 全局字段 (Global Fields)** - 全局字段可以在整个数据库中被访问,其值对所有记录都相同。 - 私有全局字段是一种特殊类型的全局字段,只能在一个特定的表或表视图中被访问。 **2. ID 字段 (ID Fields)** - ID字段通常用于唯一标识每条记录,如主键。 **3. 键字段 (Key Fields)** - 键字段是指用作表之间关联的主要字段,包括但不限于主键和外键。 **4. 外键字段 (ForeignKey Fields)** - 外键字段用于在不同表之间建立关系,通常包含另一个表中的主键值。 **5. 创建日期/时间字段 (Creation Date & Creation Time Fields)** - 这些字段用于记录数据项创建的时间戳。 **6. 重复字段 (Repeating Fields)** - 重复字段允许在同一字段中存储多个值,适用于不需要索引的情况。 **7. 非存储计算字段 (Unstored Calculation Fields)** - 计算字段可以执行简单的数学运算或逻辑判断,非存储类型不保存计算结果,而是在需要时进行计算。 **8. 查找字段 (Lookup Fields)** - 查找字段通过表之间的关系来填充数据,适用于显示关联表中的信息。 **9. 字段验证 (Field Validation)** - 字段验证确保输入的数据符合预定规则,例如数据类型、格式等。 **10. 隐藏工具字段 (Hidden Utility Fields)** - 隐藏工具字段主要用于存储程序运行过程中产生的临时数据,不对用户可见。 **11. 字段约定 (Field Conventions)** - 建立一套标准的字段命名规则有助于提高数据库的可读性和可维护性。 **12. 字段名称配对 (FieldName Pairs For Relationships)** - 在建立表间关系时,应确保字段名称清晰明确,便于理解和管理。 **13. 脚本命名 (Naming Scripts)** - 合理的脚本命名规范可以提高代码的可读性和可维护性。 **14. 剪切与粘贴 (Cut & Paste Will Ruin Your Data)** - 不建议直接使用剪切和粘贴操作来处理数据,以免造成数据混乱。 **15. 图形全局字段的位置 (Where to Put Graphics Globals)** - 图形全局字段应妥善放置,避免在不同的上下文中引起混淆。 #### 三、布局(Layouts) **1. 易怒的水果沙拉 (Angry Fruit Salad)** - 指的是布局设计中色彩过于杂乱或元素过于拥挤的现象。 **2. 布局尺寸一致性 (Layout Size Consistency)** - 维持一致的布局尺寸有助于提高用户体验。 **3. 对象跳跃 (Object Jumping)** - 对象在不同窗口大小下位置的变化可能会让用户感到困惑。 **4. 字体 (Fonts)** - 选择合适的字体可以提升界面的美观度和可读性。 **5. 字段标签颜色 (Field Label Colors)** - 使用不同的颜色来区分不同类型的字段或功能。 **6. 加粗、下划线、扩展、压缩等 (Bold, Underline, Extend, Condensed, etc)** - 利用这些样式增强字段的视觉效果,提高信息传递效率。 **7. 数据文本与其他元素的区别 (Data Text vs Everything Else)** - 明确地区分数据文本和其他界面元素有助于用户更快地识别关键信息。 **8. 视觉指示未使用的项目 (Visually Indicate Unusable Items)** - 通过颜色或其他视觉提示表明某些字段或按钮当前不可用。 **9. 字段留白 (Field Elbow Room)** - 为字段周围保留足够的空间,避免拥挤,提高可用性。 **10. 数据平台 (Data Platforms)** - 数据平台指的是用于展示数据的布局或视图。 **11. 熟悉的对象位置 (Familiar Object Locations)** - 将常用的操作或功能放在用户容易找到的地方。 **12. 立即获取客户的LOGO (Get Your Client’s Logo Immediately)** - 在项目开始阶段尽早获得客户的LOGO,以便将其融入到布局设计中。 **13. 闪烁 (Flashing)** - 使用闪烁效果可以吸引用户的注意力,但不宜过度使用。 **14. 始终拥有启动屏幕 (Always Have a Splash Screen)** - 启动屏幕可以在软件加载时提供一个友好的界面,增加专业感。 **15. 确定窗口大小后再创建布局 (Determine Window Size Before Creating Layouts)** - 根据预期的窗口大小调整布局,确保布局在不同设备上都能正常显示。 **16. 远离按钮和图形的滥用 (Stay Off the Button and Graphic Bandwagon)** - 避免过度使用按钮和图形装饰,保持界面简洁。 **17. 找到隐藏的细节 (Finding Waldo)** - 设计时要考虑如何使用户轻松找到所需的信息。 **18. 始终将用户返回原处 (Always Return Your User to Where He Left Off)** - 当用户完成一项操作后,应将其返回到之前所在的位置。 **19. 钻探 (Drilling For Oil)** - 通过逐步深入的方式来导航复杂的数据库结构。 **20. 不要用FileMaker的按钮作为标签 (Don’t Use FileMaker’s Buttons as Tabs)** - 使用专门的标签组件而非按钮来实现标签功能。 **21. 节制使用图形 (Be Sparing With Graphics)** - 适当使用图形可以美化界面,但过多的图形会使界面显得杂乱。 **22. 注释 (Comments)** - 添加注释可以帮助其他开发者更好地理解代码逻辑。 **23. 苹果的人机交互指南 (Apple’s Human Interface Guidelines)** - 参考苹果的人机交互指南可以提高软件的用户体验。 #### 四、数据库设计(Database Design) **1. 不要无蓝图建房 (Don’t Build a House Without a Blueprint)** - 在设计数据库之前,应该先制定详细的规划。 **2. 一课实例 (An Object Lesson)** - 通过具体的案例来学习数据库设计的最佳实践。 **3. 报告构建 (Reports – Build Them Last, Design Them First)** - 在实际构建报告之前,先设计好报告的布局和内容。 **4. 锁定用户 (Lock Users Out of Everything)** - 通过权限控制来限制用户对敏感数据的访问。 **5. 传统设计与查看器表 (Traditional Design vs Viewer Table)** - 比较传统设计方法与查看器表方法的优缺点。 **6. 分层表格 (Tiered Tables/Multipurpose Tables)** - 分层表格是一种多用途表格,可以在多种场景下重用。 **7. 文件命名 (File Naming)** - 建立一套清晰的文件命名规则,便于管理和查找。 **8. 不要混合使用技术 (Don’t Mix Techniques)** - 在数据库设计中避免同时使用多种不兼容的技术。 **9. 思维创新 (Think Outside The Box)** - 鼓励开发者跳出传统思维模式,寻找新的解决方案。 **10. 程序员控制数据输入 (Programmer Control of Data Entry)** - 开发者可以通过编程手段来控制数据的输入过程,提高数据质量。 **11. 标签式布局导航 (Tab Based Layout Navigaton)** - 使用标签式的导航方式可以使用户更容易在不同的布局之间切换。 **12. 数据、逻辑与布局设计 (Data, Logic and Layout Design)** - 数据库设计应该综合考虑数据存储、业务逻辑和用户界面的需求。 **13. 记住一切为了数据 (Remember That It’s All About the Data)** - 在设计数据库时始终把数据作为核心。 **14. 留下面包屑 (Leave a Trail of Bread Crumbs)** - 在开发过程中留下足够多的记录,以便追踪问题。 **15. 经常测试解决方案 (Test Your Solution Often)** - 定期进行测试可以及时发现并修复问题。 **16. 注意陷阱 (Watch for Gotchas)** - 在设计过程中注意潜在的问题点,避免陷入常见误区。 **17. 表格实例 (Table Occurrences)** - 表格实例是指同一个表的不同视图,可以用来实现复杂的关系查询。 **18. 用户设置 (User Settings)** - 用户设置允许根据个人需求定制界面或功能。 **19. 报告表格 (Reports Tables)** - 专门用于生成报告的表格,包含了预定义的字段和格式。 **20. 随机数生成器 (Random Number Generator)** - 提供随机数生成的功能,可用于模拟数据或生成测试用例。 #### 五、数据库设计错误 (Database Design Errors) **1. 永远不要打印门户 (Never Print a Portal)** - 门户中的数据是动态的,直接打印可能导致数据不准确。 **2. 可爱又聪明的小技巧 (Cute & Clever Tricks)** - 避免使用过于复杂或难以理解的设计技巧。 **3. 追随鼠标 (Chasing the Mouse)** - 用户界面应该具有稳定性,避免频繁改变布局以适应鼠标移动。 **4. 不要使用单步按钮 (Don’t Use Single-Step Buttons)** - 单步按钮可能会导致用户操作流程混乱。 **5. 不要制造孤儿 (Don’t Make Orphans)** - 在删除或修改数据时要注意保持数据的完整性。 **6. 英里长的弹出菜单 (Mile-Long Popups)** - 避免创建过长的弹出菜单,影响用户体验。 **7. 插件 (Plugins)** - 使用插件可以扩展功能,但需谨慎选择以避免兼容性问题。 **8. 窗口混乱 (Window Confusion)** - 避免打开过多窗口导致用户迷失方向。 **9. 多个文件与数据分离 (Multiple Files and Data Separation)** - 在多个文件中合理分配数据可以提高性能。 **10. 查找模式是开发者的工具 (Find Mode is a Tool for Developers Only)** - 查找模式应仅限于开发者使用,而不是作为常规用户界面的一部分。 以上是《FileMaker 白皮书》中的主要知识点总结,希望能够帮助读者更好地理解和运用FileMaker Pro进行数据库设计和开发工作。
- Anagenesis2013-10-23不错的分享,感谢并请加油分享更多。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP32和AWS IoT Core的室内温湿度监测系统.zip
- (源码)基于Arduino的I2C协议交通灯模拟系统.zip
- coco.names 文件
- (源码)基于Spring Boot和Vue的房屋租赁管理系统.zip
- (源码)基于Android的饭店点菜系统.zip
- (源码)基于Android平台的权限管理系统.zip
- (源码)基于CC++和wxWidgets框架的LEGO模型火车控制系统.zip
- (源码)基于C语言的操作系统实验项目.zip
- (源码)基于C++的分布式设备配置文件管理系统.zip
- (源码)基于ESP8266和Arduino的HomeMatic水表读数系统.zip