TU2983: Advanced Databases Individual 1

Java Python TU2983: Advanced Databases

Individual Assignment 1

Normalized Relational Databases and Basic System Interfaces

TASK 1: Build a Normalized Relational Database in Microsoft Access for your individually assigned topic:

1.     Refer to the “TU2983 Individual Assignment Topics” document on http://ukmfolio.ukm.my for your individually assigned topic. Decide on an appropriate/catchy name for a shop selling this product (e.g “Solar Panel Mart”).

2.     Build a table called TBL_PRODUCTS_<YOUR_MATRIC> (e.g. TBL_PRODUCTS_A123456) that contains a minimum of 40 rows of products matching your individually assigned topic.  This table must have the following attributes:

●     FLD_PRODUCT_ID  assign your own ID (keep it simple, future assignments will be based on the same data)

●     FLD_PRODUCT_NAME  copy from the source website (e.g. amazon.comtesco.com, zalora.com)

●     FLD_PRICE  copy from the source website, or set your own price.

●     2 other attributes that can be used as categories (e.g FLD_BRANDFLD_TYPEFLD_SHIRTSIZE)

●     At least another 2 attributes of any type (e.g. FLD_DESCRIPTIONFLD_QUANTITYFLD_WARRANTYLENGTH) Your TBL_PRODUCTS_<YOUR_MATRIC> table must have at least 7 attributes in total.

3.     Copy a picture of the product, for each product in your TBL_PRODUCTS_<your_matric> table, and rename the picture to match your FLD_PRODUCT_ID for the product.  (e.g. if the FLD_PRODUCT_ID is “25”, save the picture as “25.jpg”)

●     Save all you pictures in a subfolder called “pictures” .

4.     Build additional tables for the following:

●     1 table for Staff information, with the necessary attributes (start with only 3 staff)

●     1 table for Customer information, with the necessary attributes (start with only 3 customers)

●     1 table for Order information, with the necessary attributes (start with no orders)

●     And any additional table you need so that:

o  1 customer can make many orders, but each order is only for 1 customer

o  1 order can contain many products, and each product can be in many orders

o  1 staff can process many orders, but each order is only processed by 1 staff

●     Ensure that all your tables are normalized to at least 3NF.

5.     Use the relationship view in Microsoft Access to specify the relationship between each of your tables

●     Each table must be related to a TU2983: Advanced Databases Individual Assignment 1 t least 1 other table.

●     All tables must be connected to each other through relationships.

●     Enforce referential integrity on all your relationships to show the cardinality of the relationship in the Microsoft Access Relationship View.

6.     Your database file must be saved as DB_<YOUR_SHOP_NAME>_<YOUR_MATRIC>.accdb (e.g. DB_SOLARPANELMART_A123456.accdb)

TASK 2: Build a new Visual Basic .NET project for creating a Basic System Interface for your shop:

1.     Build a “Main Menu” for your shop, called frm_mainmenu_<your_matric>.vb (e.g. frm_mainmenu_a123456.vb)

●     Your “Main Menu” must have buttons, where each button will open a separate form. that can view the contents of one table. You must have enough buttons and forms to open and view the contents of all your tables.

●      For each table (products, customers, staff, orders) build a form. that will open and view the table’sdata.

●     Each button on your “Main Menu” must open one of these forms.  You must have at least 4 buttons.

●     Your “Main Menu” will be evaluated in terms of aesthetics, design, neatness and professionalism.

2.     Your VB. NET project must be saved as prj_<your_shop_name>_<your_matric> (e.g. prj_solarpanelmart_a123456)

SUBMIT THE FOLLOWING:

1.     Your entire VB project folder for this assignment’s project.

2.     Your Microsoft Access Database, which should be stored in your VB project’s Bin/Debug directory.

3.     Your “pictures” subfolder, which should be stored as a subdirectory in your VB project’s Bin/Debug directory.

●     Compress all the files above into a single *.ZIP or *. RAR, and label this file as <your_matric>_<your_shop_name).zip/.rar (e.g. a123456_solarpanelmart.zip)

●     *** IMPORTANT ***: Your *.ZIP/*.RAR must not exceed 100mb (Megabytes).  If it does exceed 100mb, you need to reduce the resolution of all your pictures, in order to reduce their file size.

●     Upload your *.ZIP/*. RAR file to UKMfolio, at the Lab Assignment 1 Submission Link which has your EVALUATOR’S NAME on it.

●     All *.ZIP/*.RAR files for the assignment must be submitted to UKMfolio before the following due date:

Due date: Sunday 8th  December 2024, 11:59pm Malaysia Time (GMT +8)         

【论文复现】一种基于价格弹性矩阵的居民峰谷分时电价激励策略【需求响应】(Matlab代码实现)内容概要:本文介绍了一种基于价格弹性矩阵的居民峰谷分时电价激励策略,旨在通过需求响应机制优化电力系统的负荷分布。该研究利用Matlab进行代码实现,构建了居民用电行为与电价变动之间的价格弹性模型,通过分析不同时间段电价调整对用户用电习惯的影响,设计合理的峰谷电价方案,引导用户错峰用电,从而实现电网负荷的削峰填谷,提升电力系统运行效率与稳定性。文中详细阐述了价格弹性矩阵的构建方法、优化目标函数的设计以及求解算法的实现过程,并通过仿真验证了所提策略的有效性。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事需求响应、电价机制研究或智能电网优化等相关领域的科研人员及研究生。; 使用场景及目标:①研究居民用电行为对电价变化的响应特性;②设计并仿真基于价格弹性矩阵的峰谷分时电价激励策略;③实现需求响应下的电力负荷优化调度;④为电力公司制定科学合理的电价政策提供理论支持和技术工具。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,深入理解价格弹性建模与优化求解过程,同时可参考文中方法拓展至其他需求响应场景,如工业用户、商业楼宇等,进一步提升研究的广度与深度。
针对TC275微控制器平台,基于AUTOSAR标准的引导加载程序实现方案 本方案详细阐述了一种专为英飞凌TC275系列微控制器设计的引导加载系统。该系统严格遵循汽车开放系统架构(AUTOSAR)规范进行开发,旨在实现可靠的应用程序刷写与启动管理功能。 核心设计严格遵循AUTOSAR分层软件架构。基础软件模块(BSW)的配置与管理完全符合标准要求,确保了与不同AUTOSAR兼容工具链及软件组件的无缝集成。引导加载程序本身作为独立的软件实体,实现了与上层应用软件的完全解耦,其功能涵盖启动阶段的硬件初始化、完整性校验、程序跳转逻辑以及通过指定通信接口(如CAN或以太网)接收和验证新软件数据包。 在具体实现层面,工程代码重点处理了TC275芯片特有的多核架构与内存映射机制。代码包含了对所有必要外设驱动(如Flash存储器驱动、通信控制器驱动)的初始化与抽象层封装,并设计了严谨的故障安全机制与回滚策略,以确保在软件更新过程中出现意外中断时,系统能够恢复到已知的稳定状态。整个引导流程的设计充分考虑了时序确定性、资源占用优化以及功能安全相关需求,为汽车电子控制单元的固件维护与升级提供了符合行业标准的底层支持。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
<think>首先,用户的问题是关于TDengine数据库的错误:"ERROR (0x351)",当执行"show databases"时提示"Invalid user"。我需要基于提供的引用来解决这个问题。 回顾用户提供的引用: - 引用[1]:提到SQL错误884(Func not exists),但这不是当前用户的错误。用户的错误是0x351(Invalid user)。 - 引用[2]:讨论TDengine的列限制和最有效的写入方法,不相关。 - 引用[3]:详细说明了如何禁用和启用root用户。具体步骤包括使用ALTER USER命令来启用或禁用用户。例如:"ALTER USER root ENABLE 1;"来启用用户,"ALTER USER root ENABLE 0;"来禁用。 用户当前的错误是"Invalid user",这意味着用户登录时使用了无效的用户名或用户被禁用。引用[3]直接相关,因为它讨论了如何禁用和启用用户。 用户的问题:"TDengine ERROR (0x351)执行show databases语句提示Invalid user错误的解决办法"。错误代码0x351转换为十进制是849(0x351 hex = 849 decimal),但TDengine的错误消息是"Invalid user",表明用户认证失败。 解决方案的关键点: 1. **确认用户状态**:用户可能被禁用或用户名错误。 2. **登录问题**:用户需要在登录时提供正确的用户名和密码。 3. **启用用户**:如果用户被禁用,需要启用它。 从引用[3]: - 要禁用用户:ALTER USER username ENABLE 0; - 要启用用户:ALTER USER username ENABLE 1; - 查看用户列表:SHOW USERS; 对于错误"Invalid user",可能的原因: - 用户名拼写错误。 - 用户不存在。 - 用户被禁用。 引用[3]提供了禁用启用root的例子。 用户提到执行"show databases",这通常不需要特定权限,但可能用户没有权限或用户无效。 步骤解决方案: 1. **尝试重新登录**:使用正确的用户名和密码登录TDengine。 2. **检查用户是否存在**:如果可能,使用管理员用户登录后执行SHOW USERS;来查看用户列表。 3. **启用用户**:如果用户被禁用,使用ALTER USER启用。 用户可能尝试登录root或其他用户。默认情况下,root用户可能被禁用。 在引用[3]中,它说:"禁用默认账号root",并使用ALTER USER命令。 所以,对于用户的问题: - 错误0x351 "Invalid user" 可能表示用户名无效或用户被禁用。 解决方案: - 确保用户名正确。 - 如果用户被禁用,启用它。 - 使用一个管理员用户来启用其他用户。 具体步骤: 1. 使用一个已知的管理员用户登录TDengine。例如,如果用户创建了另一个用户,使用那个用户。 2. 登录后,执行SHOW USERS;查看用户状态。如果状态是disabled,则启用它。 3. 启用用户:ALTER USER username ENABLE 1; , 其中username是无效的用户名。 4. 然后尝试登录并使用show databases。 如果用户不知道管理员用户,可能需要使用默认root,但root可能被禁用。 在引用[3]中,它描述了如何使用其他用户登录后启用root。 例如: - 如果有另一个用户(如示例中的puyoutd),使用它登录:taos -u username -p password - 然后执行ALTER USER root ENABLE 1; 来启用root。 - 之后再尝试登录root。 对于用户的具体错误,建议: - 确认登录命令:确保在登录时指定了正确的用户名、密码、主机和端口。 - 如果没有其他用户,可能需要重置或恢复用户。 但在引用[3]中,没有提到如何重置用户;它侧重于启用禁用用户。 最终解决方案结构: - 解释错误原因。 - 提供步骤解决。 - 参考引用。 根据系统指令: - 使用中文回答。 - 结构清晰。 - 生成相关问题。 - 在引用的段落末尾添加引用标识。 生成相关问题: 1. 如何创建新用户? 2. 如何重置TDengine用户密码? 3. TDengine用户管理的最佳实践? 回答结构: 1. 简要解释错误。 2. 提供解决方案步骤。 3. 添加相关问题。 确保LaTeX格式正确,但这里可能不需要数学表达式。 </think>### TDengine ERROR (0x351) "Invalid user" 错误的解决方案 当您在TDengine中执行`show databases`语句时遇到错误`ERROR (0x351): Invalid user`,这通常表示用户认证失败。错误代码0x351(十六进制)对应于TDengine的用户认证相关错误(十进制值为849),具体原因是用户名无效或用户名被禁用。用户被禁用可能源于管理员在安全优化过程中手动禁用了账户(如默认root用户),或者用户名输入错误。 根据您提供的引用信息(特别是引用[3]),该错误可以通过启用用户或使用有效管理员用户登录来解决。以下是详细的解决方案步骤,基于TDengine的用户管理机制(版本2.0及以上)。 #### 步骤1: 检查用户名和登录命令 首先,确保您使用的用户名和密码正确无误,且在登录命令中指定了正确的连接参数(主机、端口等)。错误可能是由于拼写错误或错误的凭证导致。 - 尝试重新登录TDengine,示例命令(替换为您的实际参数): ```bash # 从容器外登录(指定主机和端口) taos -h 127.0.0.1 -P 7030 -u 您的用户名 -p # 输入密码后回车 ``` 如果用户名错误,系统会直接返回`Invalid user`。请确认用户名是否正确(例如,默认root用户或其他自定义用户)。 #### 步骤2: 使用管理员用户登录并检查用户状态 如果用户名正确但用户被禁用,您需要使用另一个管理员用户登录TDengine来启用它。引用[3]中说明,管理员可以使用`ALTER USER`命令启用被禁用的用户[^3]。 - **示例操作**: 1. 使用已知的管理员用户登录(例如,如果您创建过其他用户如`puyoutd`): ```bash taos -u puyoutd -p # 输入密码登录 ``` 2. 登录后,执行`SHOW USERS;`查看所有用户状态: ```sql SHOW USERS; ``` 输出类似: ``` username | privilege | create_time | enable | .......... root | root | 2024-01-01 | false | ... # enable=false表示用户被禁用 ``` 如果目标用户(如root)的`enable`列为`false`,则表示用户被禁用。 #### 步骤3: 启用被禁用的用户 如果用户状态为禁用,使用`ALTER USER`命令启用它(参考引用[3]中的启用步骤)[^3]。 - **执行启用命令**: ```sql ALTER USER 用户名 ENABLE 1; -- 启用用户,用户名替换为您的目标用户(如root) ``` 例如,启用root用户: ```sql ALTER USER root ENABLE 1; ``` - **验证用户状态**: ```sql SHOW USERS; -- 确认enable列变为true ``` 之后,退出当前会话: ```bash q; -- 或 EXIT; ``` #### 步骤4: 重新登录并执行命令 使用已启用的用户重新登录,尝试执行`show databases`: ```bash taos -u 用户名 -p # 登录 ``` 登录后运行: ```sql show databases; ``` 如果没有权限问题,命令应成功执行。 #### 常见问题排查 - **如果所有用户都不可用怎么办?**:TDengine没有内置的密码重置命令。您可能需要: - 使用配置文件重置:停止TDengine服务,修改配置文件`taos.cfg`(添加`resetAuth`参数),然后重启服务(这会重置所有用户为默认状态)。详情参考官方文档。 - **用户权限不足?**:确保用户有`SHOW`权限。管理员用户(如root)可以授予权限: ```sql GRANT SHOW ON *.* TO 用户名; ``` - **错误0x351的其他原因**:如果用户名正确且未被禁用,检查网络或端口问题(如`-P 7030`是否指定正确)。 通过上述步骤,大多数`Invalid user`错误可以解决。如果问题持续,建议检查TDengine日志(`/var/log/taos/taosdlog.*`)以获取更详细的错误信息。 ### 相关问题 1. **如何在TDengine中创建和管理新用户?** (涉及用户创建、权限分配等命令,如`CREATE USER`和`GRANT`) 2. **TDengine用户认证失败的其他常见原因和解决方法?** (例如密码错误、网络配置问题或版本兼容性) 3. **如何禁用TDengine的默认root用户以增强安全性?** (参考禁用用户的步骤和最佳实践) [^3]: 引用[3]提供了禁用和启用用户的详细命令示例,如使用`ALTER USER`修改用户状态。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值